Package: org.codehaus.groovy.classgen.asm

## [Java] Class BinaryExpressionMultiTypeDispatcher

- 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.

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected BinaryExpressionWriter[]` | `binExpWriter` |
    `static Map<ClassNode, Integer>` | `typeMap` |
    `static String[]` | `typeMapKeyNames` |

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class BinaryExpressionHelper` | `controller`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `BinaryExpressionMultiTypeDispatcher(WriterController wc)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected void` | `assignToArray(Expression orig, Expression receiver, Expression index, Expression rhsValueLoader, boolean safe)`
    `` | `protected boolean` | `doPrimitiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp)`
    `` | `protected boolean` | `doPrimtiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp)`
    `` | `protected void` | `evaluateBinaryExpression(String message, BinaryExpression binExp)`
    `` | `protected void` | `evaluateBinaryExpressionWithAssignment(String method, BinaryExpression binExp)`
    `` | `protected void` | `evaluateCompareExpression(MethodCaller compareMethod, BinaryExpression binExp)`
    `` | `protected void` | `evaluateCompoundAssign(String assignName, String baseName, BinaryExpression binExp)`
    `` | `protected int` | `getOperandType(ClassNode type)`
    `` | `protected BinaryExpressionWriter[]` | `initializeDelegateHelpers()`
    `` | `protected void` | `writePostOrPrefixMethod(int op, String method, Expression expression, Expression orig)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class BinaryExpressionHelper` | `assignToArray, eval, evaluateArrayAssignmentWithOperator, evaluateBinaryExpression, evaluateBinaryExpressionWithAssignment, evaluateCompareExpression, evaluateCompoundAssign, evaluateElvisEqual, evaluateEqual, evaluatePostfixMethod, evaluatePrefixMethod, evaluateTernary, getController, getIsCaseMethod, writePostOrPrefixMethod`

- - ### Field Detail

    - #### protected BinaryExpressionWriter[] binExpWriter

    - #### public static final Map<ClassNode, Integer> typeMap

    - #### public static final String[] typeMapKeyNames

  - ### Constructor Detail

    - #### public BinaryExpressionMultiTypeDispatcher(WriterController wc)

  - ### Method Detail

    - #### protected void assignToArray(Expression orig, Expression receiver, Expression index, Expression rhsValueLoader, boolean safe)

    - #### protected boolean doPrimitiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp)

    - #### @Deprecated
      protected boolean doPrimtiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp)

    - #### protected void evaluateBinaryExpression(String message, BinaryExpression binExp)

    - #### protected void evaluateBinaryExpressionWithAssignment(String method, BinaryExpression binExp)

    - #### protected void evaluateCompareExpression(MethodCaller compareMethod, BinaryExpression binExp)

    - #### protected void evaluateCompoundAssign(String assignName, String baseName, BinaryExpression binExp)

    - #### protected int getOperandType(ClassNode type)

    - #### protected BinaryExpressionWriter[] initializeDelegateHelpers()

    - #### protected void writePostOrPrefixMethod(int op, String method, Expression expression, Expression orig)