Package org.codehaus.groovy.classgen.asm
Class BinaryExpressionHelper
java.lang.Object
org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
- Direct Known Subclasses:
BinaryExpressionMultiTypeDispatcher,IndyBinHelper
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidassignToArray(Expression parent, Expression receiver, Expression index, Expression rhsValueLoader, boolean safe) voideval(BinaryExpression expression) protected voidevaluateArrayAssignmentWithOperator(String method, BinaryExpression expression, BinaryExpression leftBinExpr) protected voidevaluateBinaryExpression(String message, BinaryExpression expression) protected voidevaluateBinaryExpressionWithAssignment(String method, BinaryExpression expression) protected voidevaluateCompareExpression(MethodCaller compareMethod, BinaryExpression expression) protected voidevaluateCompoundAssign(String assignName, String baseName, BinaryExpression expression) GEP-15: dynamic-mode compound-assign codegen.voidevaluateElvisEqual(BinaryExpression expression) voidevaluateEqual(BinaryExpression expression, boolean defineVariable) voidevaluatePostfixMethod(PostfixExpression expression) voidevaluatePrefixMethod(PrefixExpression expression) voidevaluateTernary(TernaryExpression expression) protected voidwritePostOrPrefixMethod(int op, String method, Expression expression, Expression orig)
-
Field Details
-
controller
-
-
Constructor Details
-
BinaryExpressionHelper
-
-
Method Details
-
getController
-
getIsCaseMethod
-
eval
-
assignToArray
protected void assignToArray(Expression parent, Expression receiver, Expression index, Expression rhsValueLoader, boolean safe) -
evaluateElvisEqual
-
evaluateEqual
-
evaluateCompareExpression
-
evaluateBinaryExpression
-
evaluateArrayAssignmentWithOperator
protected void evaluateArrayAssignmentWithOperator(String method, BinaryExpression expression, BinaryExpression leftBinExpr) -
evaluateBinaryExpressionWithAssignment
-
evaluateCompoundAssign
protected void evaluateCompoundAssign(String assignName, String baseName, BinaryExpression expression) GEP-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. -
evaluatePostfixMethod
-
evaluatePrefixMethod
-
writePostOrPrefixMethod
protected void writePostOrPrefixMethod(int op, String method, Expression expression, Expression orig) -
evaluateTernary
-