class Prism::ProgramNode
The top level node of any parse tree.
Public Class Methods
Source
# File lib/prism/node.rb, line 27014 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 27125 def locals @locals end
Returns the locals attribute.
Source
# File lib/prism/node.rb, line 27135 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 27037 def accept(visitor) visitor.visit_program_node(self) end
See Node.accept.
Source
# File lib/prism/node.rb, line 27044 def child_nodes [statements] end
See Node.child_nodes.
Also aliased as: deconstruct
Source
# File lib/prism/node.rb, line 27068 def comment_targets [statements] #: Array[Prism::node | Location] end
See Node.comment_targets.
Source
# File lib/prism/node.rb, line 27061 def compact_child_nodes [statements] end
Source
# File lib/prism/node.rb, line 27078 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 27052 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.