Package: org.codehaus.groovy.classgen.asm.sc

## [Java] Class StaticTypesBinaryExpressionMultiTypeDispatcher

- org.codehaus.groovy.classgen.asm.sc.StaticTypesBinaryExpressionMultiTypeDispatcher

- All Implemented Interfaces and Traits:
    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.

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class BinaryExpressionMultiTypeDispatcher` | `binExpWriter, typeMap, typeMapKeyNames`
    `class BinaryExpressionHelper` | `controller`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `StaticTypesBinaryExpressionMultiTypeDispatcher (WriterController wc)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected void` | `assignToArray(Expression parent, Expression receiver, Expression index, Expression rhsValueLoader, boolean safe)`
    `` | `protected void` | `evaluateBinaryExpressionWithAssignment(String method, BinaryExpression expression)`
    `` | `void` | `evaluateEqual(BinaryExpression expression, boolean defineVariable)`
    `` | `protected void` | `writePostOrPrefixMethod(int op, String method, Expression expression, Expression orig)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class BinaryExpressionMultiTypeDispatcher` | `assignToArray, doPrimitiveCompare, doPrimtiveCompare, evaluateBinaryExpression, evaluateBinaryExpressionWithAssignment, evaluateCompareExpression, getOperandType, initializeDelegateHelpers, writePostOrPrefixMethod`
    `class BinaryExpressionHelper` | `assignToArray, assignToArray, eval, evaluateArrayAssignmentWithOperator, evaluateBinaryExpression, evaluateBinaryExpressionWithAssignment, evaluateCompareExpression, evaluateElvisEqual, evaluateEqual, evaluatePostfixMethod, evaluatePrefixMethod, evaluateTernary, getController, getIsCaseMethod, visit, writePostOrPrefixMethod`

- - ### Constructor Detail

    - #### public StaticTypesBinaryExpressionMultiTypeDispatcher(WriterController wc)

  - ### Method Detail

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

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

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride public void evaluateEqual(BinaryExpression expression, boolean defineVariable)

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