class Prism::ProgramNode
The top level node of any parse tree.
Public Class Methods
Source
# File lib/prism/node.rb, line 25590 def initialize(source, node_id, location, flags, locals, statements) @source = source @node_id = node_id @location = location @flags = flags @locals = locals @statements = statements end
Initialize a new ProgramNode node.
Public Instance Methods
Source
# File lib/prism/node.rb, line 25692 def locals @locals end
Returns the locals attribute.
Source
# File lib/prism/node.rb, line 25702 def statements @statements end
Returns the statements attribute.
Node Interface
These methods are present on all subclasses of Node. Read the node interface docs for more information.
Public Class Methods
Public Instance Methods
Source
# File lib/prism/node.rb, line 25613 def accept(visitor) visitor.visit_program_node(self) end
See Node.accept.
Source
# File lib/prism/node.rb, line 25620 def child_nodes [statements] end
See Node.child_nodes.
Also aliased as: deconstruct
Source
# File lib/prism/node.rb, line 25644 def comment_targets [statements] #: Array[Prism::node | Location] end
See Node.comment_targets.
Source
# File lib/prism/node.rb, line 25637 def compact_child_nodes [statements] end
Source
# File lib/prism/node.rb, line 25654 def copy(node_id: self.node_id, location: self.location, flags: self.flags, locals: self.locals, statements: self.statements) ProgramNode.new(source, node_id, location, flags, locals, statements) end
Creates a copy of self with the given fields, using self as the template.
Source
# File lib/prism/node.rb, line 25628 def each_child_node(&blk) return to_enum(:each_child_node) unless block_given? yield statements end
See Node.each_child_node.
Repository
Methods related to Relocation.