Class AdditiveExpression

All Implemented Interfaces:
IAdditiveExpression, IArithmeticExpression, IOverridableOperation, IExpression, IHasType, IParsedElement

public final class AdditiveExpression extends ArithmeticExpression implements IAdditiveExpression
Represents an additive expression in the Gosu grammar:
 additive-expression
   <multiplicative-expression>
   <additive-expression> + <multiplicative-expression>
   <additive-expression> - <multiplicative-expression>
 

See Also:
  • Constructor Details

    • AdditiveExpression

      public AdditiveExpression()
  • Method Details

    • isAdditive

      public boolean isAdditive()
      Returns whether or not the operation is addition or substraction.
      Specified by:
      isAdditive in interface IAdditiveExpression
      Returns:
      True if operation is addition.
    • isAssignment

      public boolean isAssignment()
    • evaluate

      public Object evaluate()
      Evaluates this additive expression. Either performs numeric addition/subtraction or String concatination.
      Specified by:
      evaluate in interface IExpression
      Overrides:
      evaluate in class Expression
    • evaluate

      public static Object evaluate(IType type, Object lhsValue, Object rhsValue, IType lhsType, IType rhsType, boolean bAdditive, boolean bNullSafe, boolean bNumericType, Object ctx, int startLhs, int endLhs, int startRhs, int endRhs)
    • evaluate

      public static Object evaluate(IType type, Object lhsValue, Object rhsValue, IType lhsType, IType rhsType, boolean bAdditive, boolean bNullSafe, boolean bNumericType)