Sha256: b75828c2d150dfcf1fa5de202b146f2b38da21b0e02c9fa5ea5da98af277774c
Contents?: true
Size: 1.03 KB
Versions: 21
Compression:
Stored size: 1.03 KB
Contents
# frozen_string_literal: true require_relative 'lox_compound_expr' module Loxxy module Ast class LoxIfStmt < LoxCompoundExpr # @return [LoxNode] code of then branch attr_reader :then_stmt # @return [LoxNode, NilClass] code of else branch attr_reader :else_stmt # @param aPosition [Rley::Lexical::Position] Position of the entry in the input stream. # @param condExpr [Loxxy::Ast::LoxNode] # @param thenStmt [Loxxy::Ast::LoxNode] # @param elseStmt [Loxxy::Ast::LoxNode] def initialize(aPosition, condExpr, thenStmt, elseStmt) super(aPosition, [condExpr]) @then_stmt = thenStmt @else_stmt = elseStmt end # Part of the 'visitee' role in Visitor design pattern. # @param visitor [Ast::ASTVisitor] the visitor def accept(visitor) visitor.visit_if_stmt(self) end # Accessor to the condition expression # @return [LoxNode] def condition subnodes[0] end end # class end # module end # module
Version data entries
21 entries across 21 versions & 1 rubygems