Package iota

Class ILogicalOrOp


class ILogicalOrOp extends IBooleanBinaryExpression
The AST node for a logical-or (||) expression.
  • Constructor Details

    • ILogicalOrOp

      public ILogicalOrOp(int line, IExpression lhs, IExpression rhs)
      Constructs an AST node for a logical-or expression.
      Parameters:
      line - line in which the logical-or expression occurs in the source file.
      lhs - lhs operand.
      rhs - rhs operand.
  • Method Details

    • analyze

      public IExpression analyze(Context context)
      Analyzes and returns an IExpression.
      Specified by:
      analyze in class IExpression
      Parameters:
      context - context in which names are resolved.
      Returns:
      the analyzed (and possibly rewritten) AST subtree.
    • codegen

      public void codegen(CLEmitter output, String targetLabel, boolean onTrue)
      Performs short-circuit code generation for a boolean expression, given the code emitter, a target label, and whether we branch to that label on true or on false.
      Overrides:
      codegen in class IExpression
      Parameters:
      output - the code emitter.
      targetLabel - the label to which we should branch.
      onTrue - do we branch on true?