Sha256: b9ca9abff21802b6f9bac68487c45b864e9a73a5605295ae27156b294b39ed12
Contents?: true
Size: 1.15 KB
Versions: 21
Compression:
Stored size: 1.15 KB
Contents
# frozen_string_literal: true require_relative 'lox_compound_expr' module Loxxy module Ast class LoxForStmt < LoxCompoundExpr # @return [LoxNode] test expression attr_reader :test_expr # @return [LoxNode] update expression attr_reader :update_expr # @return [LoxNode] body statement attr_accessor :body_stmt # @param aPosition [Rley::Lexical::Position] Position of the entry in the input stream. # @param initialization [Loxxy::Ast::LoxNode] # @param testExpr [Loxxy::Ast::LoxNode] # @param updateExpr [Loxxy::Ast::LoxNode] def initialize(aPosition, initialization, testExpr, updateExpr) child = initialization ? [initialization] : [] super(aPosition, child) @test_expr = testExpr @update_expr = updateExpr end # Part of the 'visitee' role in Visitor design pattern. # @param visitor [Ast::ASTVisitor] the visitor def accept(visitor) visitor.visit_for_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