class Prism::ProgramNode
The top level node of any parse tree.
Public Class Methods
Source
# File lib/prism/node.rb, line 20528 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 20609 def locals @locals end
Returns the locals attribute.
Source
# File lib/prism/node.rb, line 20617 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 20549 def accept(visitor) visitor.visit_program_node(self) end
See Node.accept.
Source
# File lib/prism/node.rb, line 20554 def child_nodes [statements] end
See Node.child_nodes.
Also aliased as: deconstruct
Source
# File lib/prism/node.rb, line 20571 def comment_targets [statements] #: Array[Prism::node | Location] end
See Node.comment_targets.
Source
# File lib/prism/node.rb, line 20566 def compact_child_nodes [statements] end
Source
# File lib/prism/node.rb, line 20579 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 20559 def each_child_node return to_enum(:each_child_node) unless block_given? yield statements end
See Node.each_child_node.
Repository
Methods related to Relocation.