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 11929 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 12040 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 11951 def accept(visitor) visitor.visit_error_recovery_node(self) end
See Node.accept.
Source
# File lib/prism/node.rb, line 11958 def child_nodes [unexpected] end
See Node.child_nodes.
Also aliased as: deconstruct
Source
# File lib/prism/node.rb, line 11984 def comment_targets [*unexpected] #: Array[Prism::node | Location] end
See Node.comment_targets.
Source
# File lib/prism/node.rb, line 11975 def compact_child_nodes compact = [] #: Array[Prism::node] if (unexpected = self.unexpected); compact << unexpected; end compact end
Source
# File lib/prism/node.rb, line 11994 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 11966 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.