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
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
FieldsFields inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
controller -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidassignToArray(Expression orig, Expression receiver, Expression index, Expression rhsValueLoader, boolean safe) protected booleandoPrimitiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp) protected booleandoPrimtiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp) Deprecated.protected voidevaluateBinaryExpression(String message, BinaryExpression binExp) protected voidevaluateBinaryExpressionWithAssignment(String method, BinaryExpression binExp) protected voidevaluateCompareExpression(MethodCaller compareMethod, BinaryExpression binExp) protected voidevaluateCompoundAssign(String assignName, String baseName, BinaryExpression binExp) GEP-15: dynamic-mode compound-assign codegen.protected intgetOperandType(ClassNode type) protected BinaryExpressionWriter[]protected voidwritePostOrPrefixMethod(int op, String method, Expression expression, Expression orig) Methods inherited from class org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
eval, evaluateArrayAssignmentWithOperator, evaluateElvisEqual, evaluateEqual, evaluatePostfixMethod, evaluatePrefixMethod, evaluateTernary, getController, getIsCaseMethod
-
Field Details
-
binExpWriter
-
typeMap
-
typeMapKeyNames
-
-
Constructor Details
-
BinaryExpressionMultiTypeDispatcher
-
-
Method Details
-
initializeDelegateHelpers
-
getOperandType
-
doPrimtiveCompare
@Deprecated protected boolean doPrimtiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp) Deprecated. -
doPrimitiveCompare
protected boolean doPrimitiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp) -
evaluateCompareExpression
- Overrides:
evaluateCompareExpressionin classBinaryExpressionHelper
-
evaluateBinaryExpression
- Overrides:
evaluateBinaryExpressionin classBinaryExpressionHelper
-
evaluateBinaryExpressionWithAssignment
- Overrides:
evaluateBinaryExpressionWithAssignmentin classBinaryExpressionHelper
-
evaluateCompoundAssign
Description copied from class:BinaryExpressionHelperGEP-15: dynamic-mode compound-assign codegen. Routes throughScriptBytecodeAdapter.compoundAssign(Object, Object, String, String)which dispatches toassignNamewhen the receiver responds to it, and falls back tobaseNameotherwise. The caller stores the helper's return value into the LHS — for the in-place branch this is a no-op store of the receiver back to itself; for the fallback branch it is the usual "x = x.op(y)" assignment.- Overrides:
evaluateCompoundAssignin classBinaryExpressionHelper
-
assignToArray
protected void assignToArray(Expression orig, Expression receiver, Expression index, Expression rhsValueLoader, boolean safe) - Overrides:
assignToArrayin classBinaryExpressionHelper
-
writePostOrPrefixMethod
protected void writePostOrPrefixMethod(int op, String method, Expression expression, Expression orig) - Overrides:
writePostOrPrefixMethodin classBinaryExpressionHelper
-