Groovy Documentation

## org.codehaus.groovy.classgen.asm.sc
[Java] Class StaticTypesBinaryExpressionMultiTypeDispatcher

    java.lang.Object
      org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
          org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher
              org.codehaus.groovy.classgen.asm.sc.StaticTypesBinaryExpressionMultiTypeDispatcher

All Implemented Interfaces:
  org.objectweb.asm.Opcodes

    public class StaticTypesBinaryExpressionMultiTypeDispatcher
    extends BinaryExpressionMultiTypeDispatcher

A specialized version of the multi type binary expression dispatcher which is aware of static compilation. It is able to generate optimized bytecode for some operations using JVM instructions when available.

Authors:
  Cedric Champeau

Field Summary

Fields inherited from class BinaryExpressionMultiTypeDispatcher
binExpWriter, typeMap, typeMapKeyNames

Constructor Summary
`StaticTypesBinaryExpressionMultiTypeDispatcher(WriterController wc)`

Method Summary
`protected void` | `assignToArray(Expression parrent, Expression receiver, Expression index, Expression rhsValueLoader)`
`void` | `evaluateEqual(BinaryExpression expression, boolean defineVariable)`
`protected void` | `writePostOrPrefixMethod(int op, java.lang.String method, Expression expression, Expression orig)`

Methods inherited from class BinaryExpressionMultiTypeDispatcher
BinaryExpressionMultiTypeDispatcher, assignToArray, doPrimtiveCompare, evaluateBinaryExpression, evaluateBinaryExpressionWithAssignment, evaluateCompareExpression, getOperandType, initializeDelegateHelpers, writePostOrPrefixMethod

Methods inherited from class BinaryExpressionHelper
assignToArray, eval, evaluateBinaryExpression, evaluateBinaryExpressionWithAssignment, evaluateCompareExpression, evaluateEqual, evaluatePostfixMethod, evaluatePrefixMethod, evaluateTernary, getController, getIsCaseMethod, writePostOrPrefixMethod

Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Constructor Detail

### StaticTypesBinaryExpressionMultiTypeDispatcher

    public StaticTypesBinaryExpressionMultiTypeDispatcher(WriterController wc)

Method Detail

### assignToArray

    protected void assignToArray(Expression parrent, Expression receiver, Expression index, Expression rhsValueLoader)

### evaluateEqual

    @Override
    public void evaluateEqual(BinaryExpression expression, boolean defineVariable)

### writePostOrPrefixMethod

    @Override
    protected void writePostOrPrefixMethod(int op, java.lang.String method, Expression expression, Expression orig)

Groovy Documentation