Class StaticTypesBinaryExpressionMultiTypeDispatcher
java.lang.Object
org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher
org.codehaus.groovy.classgen.asm.sc.StaticTypesBinaryExpressionMultiTypeDispatcher
- Direct Known Subclasses:
IndyStaticTypesMultiTypeDispatcher
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.
-
Field Summary
Fields inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher
binExpWriter, typeMap, typeMapKeyNamesFields inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
controller -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidassignToArray(Expression enclosing, Expression receiver, Expression subscript, Expression rhsValueLoader, boolean safe) protected voidevaluateBinaryExpressionWithAssignment(String method, BinaryExpression expression) voidevaluateEqual(BinaryExpression expression, boolean defineVariable) protected voidwritePostOrPrefixMethod(int op, String method, Expression expression, Expression orig) Methods inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher
doPrimitiveCompare, doPrimtiveCompare, evaluateBinaryExpression, evaluateCompareExpression, getOperandType, initializeDelegateHelpersMethods inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
eval, evaluateArrayAssignmentWithOperator, evaluateElvisEqual, evaluatePostfixMethod, evaluatePrefixMethod, evaluateTernary, getController, getIsCaseMethod
-
Constructor Details
-
StaticTypesBinaryExpressionMultiTypeDispatcher
-
-
Method Details
-
writePostOrPrefixMethod
protected void writePostOrPrefixMethod(int op, String method, Expression expression, Expression orig) - Overrides:
writePostOrPrefixMethodin classBinaryExpressionMultiTypeDispatcher
-
evaluateBinaryExpressionWithAssignment
- Overrides:
evaluateBinaryExpressionWithAssignmentin classBinaryExpressionMultiTypeDispatcher
-
evaluateEqual
- Overrides:
evaluateEqualin classBinaryExpressionHelper
-
assignToArray
protected void assignToArray(Expression enclosing, Expression receiver, Expression subscript, Expression rhsValueLoader, boolean safe) - Overrides:
assignToArrayin classBinaryExpressionMultiTypeDispatcher
-