Package org.codehaus.groovy.classgen.asm

## Class BinaryExpressionMultiTypeDispatcher

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

- Direct Known Subclasses:
    `StaticTypesBinaryExpressionMultiTypeDispatcher`

      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
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected BinaryExpressionWriter[]` | `binExpWriter` |
    `static Map<ClassNode,​Integer>` | `typeMap` |
    `static String[]` | `typeMapKeyNames` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BinaryExpressionMultiTypeDispatcher​(WriterController wc)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `assignToArray​(Expression orig, Expression receiver, Expression index, Expression rhsValueLoader)` |
    `protected boolean` | `doPrimitiveCompare​(ClassNode leftType, ClassNode rightType, BinaryExpression binExp)` |
    `protected boolean` | `doPrimtiveCompare​(ClassNode leftType, ClassNode rightType, BinaryExpression binExp)` | Deprecated.
    `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)` |

    - ### Methods inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionHelper

      `eval, evaluateArrayAssignmentWithOperator, evaluateEqual, evaluatePostfixMethod, evaluatePrefixMethod, evaluateTernary, getController, getIsCaseMethod`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### binExpWriter

          protected BinaryExpressionWriter[] binExpWriter

    - #### typeMap

          public static Map<ClassNode,​Integer> typeMap

    - #### typeMapKeyNames

          public static final String[] typeMapKeyNames

  - ### Constructor Detail

    - #### BinaryExpressionMultiTypeDispatcher

          public BinaryExpressionMultiTypeDispatcher​(WriterController wc)

  - ### Method Detail

    - #### initializeDelegateHelpers

          protected BinaryExpressionWriter[] initializeDelegateHelpers()

    - #### getOperandType

          protected int getOperandType​(ClassNode type)

    - #### doPrimtiveCompare

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

      Deprecated.

    - #### doPrimitiveCompare

          protected boolean doPrimitiveCompare​(ClassNode leftType,
                                               ClassNode rightType,
                                               BinaryExpression binExp)

    - #### evaluateCompareExpression

          protected void evaluateCompareExpression​(MethodCaller compareMethod,
                                                   BinaryExpression binExp)

      Overrides:
        `evaluateCompareExpression` in class `BinaryExpressionHelper`

    - #### evaluateBinaryExpression

          protected void evaluateBinaryExpression​(String message,
                                                  BinaryExpression binExp)

      Overrides:
        `evaluateBinaryExpression` in class `BinaryExpressionHelper`

    - #### evaluateBinaryExpressionWithAssignment

          protected void evaluateBinaryExpressionWithAssignment​(String method,
                                                                BinaryExpression binExp)

      Overrides:
        `evaluateBinaryExpressionWithAssignment` in class `BinaryExpressionHelper`

    - #### assignToArray

          protected void assignToArray​(Expression orig,
                                       Expression receiver,
                                       Expression index,
                                       Expression rhsValueLoader)

      Overrides:
        `assignToArray` in class `BinaryExpressionHelper`

    - #### writePostOrPrefixMethod

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

      Overrides:
        `writePostOrPrefixMethod` in class `BinaryExpressionHelper`