Package: org.codehaus.groovy.classgen.asm

## [Java] Class BinaryExpressionMultiTypeDispatcher

- org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher

- 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 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, assignToArray, eval, evaluateArrayAssignmentWithOperator, evaluateBinaryExpression, evaluateBinaryExpressionWithAssignment, evaluateCompareExpression, evaluateElvisEqual, evaluateEqual, evaluatePostfixMethod, evaluatePrefixMethod, evaluateTernary, getController, getIsCaseMethod, visit, 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

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride protected void assignToArray(Expression orig, Expression receiver, Expression index, Expression rhsValueLoader, boolean safe)

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

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprDeprecated protected boolean doPrimtiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride protected void evaluateBinaryExpression(String message, BinaryExpression binExp)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride protected void evaluateBinaryExpressionWithAssignment(String method, BinaryExpression binExp)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride protected void evaluateCompareExpression(MethodCaller compareMethod, BinaryExpression binExp)

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

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

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride protected void writePostOrPrefixMethod(int op, String method, Expression expression, Expression orig)