public class Or extends BooleanExpr
Represents a short-circuiting or of two boolean expressions.
  • Field Details

    • left

      public BooleanExpr left
      The left-hand expression
  • Constructor Details

    • Or

      public Or(BooleanExpr left, BooleanExpr right)
      Create a new Or expression
      Parameters:
      left - The left-hand expression
      right - The right-hand expression
    • Or

      public Or(BooleanExpr left, BooleanExpr right, String filename, int lineNumber)
      Create a new Or expression
      Parameters:
      left - The left-hand expression
      right - The right-hand expression
      filename - The source filename this expression is associated with
      lineNumber - The source line number this expression is associated with
  • Method Details

    • invert

      public BooleanExpr invert()
      Description copied from class: BooleanExpr
      Invert this expression, which may involve reversing comparisons or changing and to or with inverted tests, etc.
      Specified by:
      invert in class BooleanExpr
      Returns:
      An inverted boolean expression
    • removeNot

      public BooleanExpr removeNot()
      Description copied from class: BooleanExpr
      Remove any not expressions from a tree of boolean expressions by inverting the expression under the not
      Specified by:
      removeNot in class BooleanExpr
      Returns:
      a BooleanExpr with any nested Not constructions removed
    • reset

      public void reset()
      Description copied from class: BooleanExpr
      Resets any values modified during code generation
      Overrides:
      reset in class BooleanExpr
    • computeSequence

      public BooleanExpr computeSequence(BooleanExpr trueNext, BooleanExpr falseNext, List<BooleanExpr> tests)
      Description copied from class: BooleanExpr
      Compute a sequence of tests to determine if this expression is true or false
      Specified by:
      computeSequence in class BooleanExpr
      Parameters:
      trueNext - The next expression to evaluate if this expression is true
      falseNext - The next expression to evaluate if this expression is false
      tests - An accumulator for the tests to be executed
      Returns:
      The beginning of the sequence