Class BinaryExpressionHelper

java.lang.Object
org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
Direct Known Subclasses:
BinaryExpressionMultiTypeDispatcher, IndyBinHelper

public class BinaryExpressionHelper extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • getController

      public WriterController getController()
    • getIsCaseMethod

      public MethodCaller getIsCaseMethod()
    • eval

      public void eval(BinaryExpression expression)
    • assignToArray

      protected void assignToArray(Expression parent, Expression receiver, Expression index, Expression rhsValueLoader, boolean safe)
    • evaluateElvisEqual

      public void evaluateElvisEqual(BinaryExpression expression)
    • evaluateEqual

      public void evaluateEqual(BinaryExpression expression, boolean defineVariable)
    • evaluateCompareExpression

      protected void evaluateCompareExpression(MethodCaller compareMethod, BinaryExpression expression)
    • evaluateBinaryExpression

      protected void evaluateBinaryExpression(String message, BinaryExpression expression)
    • evaluateArrayAssignmentWithOperator

      protected void evaluateArrayAssignmentWithOperator(String method, BinaryExpression expression, BinaryExpression leftBinExpr)
    • evaluateBinaryExpressionWithAssignment

      protected void evaluateBinaryExpressionWithAssignment(String method, BinaryExpression expression)
    • evaluateCompoundAssign

      protected void evaluateCompoundAssign(String assignName, String baseName, BinaryExpression expression)
      GEP-15: dynamic-mode compound-assign codegen. Routes through ScriptBytecodeAdapter.compoundAssign(Object, Object, String, String) which dispatches to assignName when the receiver responds to it, and falls back to baseName otherwise. 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

      public void evaluatePostfixMethod(PostfixExpression expression)
    • evaluatePrefixMethod

      public void evaluatePrefixMethod(PrefixExpression expression)
    • writePostOrPrefixMethod

      protected void writePostOrPrefixMethod(int op, String method, Expression expression, Expression orig)
    • evaluateTernary

      public void evaluateTernary(TernaryExpression expression)