class Prism::ErrorRecoveryNode
Represents a node that is either missing or unexpected and results in a syntax error.
Public Class Methods
Source
# File lib/prism/node.rb, line 11317 def initialize(source, node_id, location, flags, unexpected) @source = source @node_id = node_id @location = location @flags = flags @unexpected = unexpected end
Initialize a new ErrorRecoveryNode node.
Public Instance Methods
Source
# File lib/prism/node.rb, line 11420 def unexpected @unexpected end
The unexpected node that was found in the tree, if there was one.
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 11339 def accept(visitor) visitor.visit_error_recovery_node(self) end
See Node.accept.
Source
# File lib/prism/node.rb, line 11346 def child_nodes [unexpected] end
See Node.child_nodes.
Also aliased as: deconstruct
Source
# File lib/prism/node.rb, line 11372 def comment_targets [*unexpected] #: Array[Prism::node | Location] end
See Node.comment_targets.
Source
# File lib/prism/node.rb, line 11363 def compact_child_nodes compact = [] #: Array[Prism::node] if (unexpected = self.unexpected); compact << unexpected; end compact end
Source
# File lib/prism/node.rb, line 11382 def copy(node_id: self.node_id, location: self.location, flags: self.flags, unexpected: self.unexpected) ErrorRecoveryNode.new(source, node_id, location, flags, unexpected) end
Creates a copy of self with the given fields, using self as the template.
Source
# File lib/prism/node.rb, line 11354 def each_child_node(&blk) return to_enum(:each_child_node) unless block_given? if (unexpected = self.unexpected); yield unexpected; end end
See Node.each_child_node.
Repository
Methods related to Relocation.