class Prism::ProgramNode
The top level node of any parse tree.
Public Class Methods
Source
# File lib/prism/node.rb, line 25535 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 25637 def locals @locals end
Returns the locals attribute.
Source
# File lib/prism/node.rb, line 25647 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 25558 def accept(visitor) visitor.visit_program_node(self) end
See Node.accept.
Source
# File lib/prism/node.rb, line 25565 def child_nodes [statements] end
See Node.child_nodes.
Also aliased as: deconstruct
Source
# File lib/prism/node.rb, line 25589 def comment_targets [statements] #: Array[Prism::node | Location] end
See Node.comment_targets.
Source
# File lib/prism/node.rb, line 25582 def compact_child_nodes [statements] end
Source
# File lib/prism/node.rb, line 25599 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 25573 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.