Groovy Documentation

## org.codehaus.groovy.classgen.asm
[Java] Class BinaryExpressionMultiTypeDispatcher

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

    public class BinaryExpressionMultiTypeDispatcher
    extends BinaryExpressionHelper

This class is for internal use only! This class will dispatch to the right type adapters according to the kind of binary expression that is provided.

Authors:
  Jochen "blackdrag" Theodorou
  Roshan Dawrani

Field Summary
`protected BinaryExpressionWriter[]` | `binExpWriter`
`static java.util.Map` | `typeMap`
`static java.lang.String[]` | `typeMapKeyNames`

Method Summary
`java.lang.Object` | `BinaryExpressionMultiTypeDispatcher(WriterController wc)`
`protected void` | `assignToArray(Expression orig, Expression receiver, Expression index, Expression rhsValueLoader)`
`protected boolean` | `doPrimtiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp)`
`protected void` | `evaluateBinaryExpression(java.lang.String message, BinaryExpression binExp)`
`protected void` | `evaluateBinaryExpressionWithAssignment(java.lang.String method, BinaryExpression binExp)`
`protected void` | `evaluateCompareExpression(MethodCaller compareMethod, BinaryExpression binExp)`
`protected int` | `getOperandType(ClassNode type)`
`protected BinaryExpressionWriter[]` | `initializeDelegateHelpers()`
`protected void` | `writePostOrPrefixMethod(int op, java.lang.String method, Expression expression, Expression orig)`

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()

Field Detail

### binExpWriter

    protected BinaryExpressionWriter[] binExpWriter

### typeMap

    public static java.util.Map typeMap

### typeMapKeyNames

    public static final java.lang.String[] typeMapKeyNames

Method Detail

### BinaryExpressionMultiTypeDispatcher

    public java.lang.Object BinaryExpressionMultiTypeDispatcher(WriterController wc)

### assignToArray

    operandStack.doGroovyCast(arrayComponentType);
    protected void assignToArray(Expression orig, Expression receiver, Expression index, Expression rhsValueLoader)

### doPrimtiveCompare

    protected boolean doPrimtiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp)

### evaluateBinaryExpression

    @Override
    protected void evaluateBinaryExpression(java.lang.String message, BinaryExpression binExp)

### evaluateBinaryExpressionWithAssignment

    binExp.getLeftExpression().visit(getController().getAcg());
    protected void evaluateBinaryExpressionWithAssignment(java.lang.String method, BinaryExpression binExp)

### evaluateCompareExpression

    @Override
    protected void evaluateCompareExpression(MethodCaller compareMethod, BinaryExpression binExp)

### getOperandType

    protected int getOperandType(ClassNode type)

### initializeDelegateHelpers

    protected BinaryExpressionWriter[] initializeDelegateHelpers()

### writePostOrPrefixMethod

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

Groovy Documentation