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, typeMapKeyNames
Fields inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
controller
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
assignToArray
(Expression enclosing, Expression receiver, Expression subscript, 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) Methods inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher
doPrimitiveCompare, doPrimtiveCompare, evaluateBinaryExpression, evaluateCompareExpression, getOperandType, initializeDelegateHelpers
Methods inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
assignToArray, 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:
writePostOrPrefixMethod
in classBinaryExpressionMultiTypeDispatcher
-
evaluateBinaryExpressionWithAssignment
- Overrides:
evaluateBinaryExpressionWithAssignment
in classBinaryExpressionMultiTypeDispatcher
-
evaluateEqual
- Overrides:
evaluateEqual
in classBinaryExpressionHelper
-
assignToArray
protected void assignToArray(Expression enclosing, Expression receiver, Expression subscript, Expression rhsValueLoader, boolean safe) - Overrides:
assignToArray
in classBinaryExpressionMultiTypeDispatcher
-