class Prism::ForwardingSuperNode
Represents the use of the super keyword without parentheses or arguments, but which might have a block.
super
^^^^^
super { 123 }
^^^^^^^^^^^^^
If it has any other arguments, it would be a SuperNode instead.
Public Class Methods
Source
# File lib/prism/node.rb, line 10162 def initialize(source, node_id, location, flags, block) @source = source @node_id = node_id @location = location @flags = flags @block = block end
Initialize a new ForwardingSuperNode node.
Public Instance Methods
Source
# File lib/prism/node.rb, line 10244 def block @block end
All other arguments are forwarded as normal, except the original block is replaced with the new block.
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 10182 def accept(visitor) visitor.visit_forwarding_super_node(self) end
See Node.accept.
Source
# File lib/prism/node.rb, line 10187 def child_nodes [block] end
See Node.child_nodes.
Also aliased as: deconstruct
Source
# File lib/prism/node.rb, line 10206 def comment_targets [*block] #: Array[Prism::node | Location] end
See Node.comment_targets.
Source
# File lib/prism/node.rb, line 10199 def compact_child_nodes compact = [] #: Array[Prism::node] compact << block if block compact end
Source
# File lib/prism/node.rb, line 10214 def copy(node_id: self.node_id, location: self.location, flags: self.flags, block: self.block) ForwardingSuperNode.new(source, node_id, location, flags, block) end
Creates a copy of self with the given fields, using self as the template.
Source
# File lib/prism/node.rb, line 10192 def each_child_node return to_enum(:each_child_node) unless block_given? yield block if block end
See Node.each_child_node.
Repository
Methods related to Relocation.