class Prism::MatchWriteNode
Represents writing local variables using a regular expression match with named capture groups.
/(?<foo>bar)/ =~ baz ^^^^^^^^^^^^^^^^^^^^
Public Class Methods
(Source source, Integer node_id, Location location, Integer flags, CallNode call, Array[LocalVariableTargetNode] targets) → void
Source
# File lib/prism/node.rb, line 21835 def initialize(source, node_id, location, flags, call, targets) @source = source @node_id = node_id @location = location @flags = flags @call = call @targets = targets end
Initialize a new MatchWriteNode node.
Public Instance Methods
() → CallNode
Source
# File lib/prism/node.rb, line 21938 def call @call end
Returns the call attribute.
Source
# File lib/prism/node.rb, line 21948 def targets @targets end
Returns the targets 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
(_Visitor visitor) → untyped
Source
# File lib/prism/node.rb, line 21858 def accept(visitor) visitor.visit_match_write_node(self) end
See Node.accept.
() → Array[node?]
Source
# File lib/prism/node.rb, line 21865 def child_nodes [call, *targets] end
See Node.child_nodes.
Also aliased as: deconstruct
() → Array[node | Location]
Source
# File lib/prism/node.rb, line 21890 def comment_targets [call, *targets] #: Array[Prism::node | Location] end
See Node.comment_targets.
() → Array[node]
Source
# File lib/prism/node.rb, line 21883 def compact_child_nodes [call, *targets] end
(?node_id: Integer, ?location: Location, ?flags: Integer, ?call: CallNode, ?targets: Array[LocalVariableTargetNode]) → MatchWriteNode
Source
# File lib/prism/node.rb, line 21900 def copy(node_id: self.node_id, location: self.location, flags: self.flags, call: self.call, targets: self.targets) MatchWriteNode.new(source, node_id, location, flags, call, targets) end
Creates a copy of self with the given fields, using self as the template.
() → Enumerator[node, void]
() { (node) → void } → void
Source
# File lib/prism/node.rb, line 21873 def each_child_node(&blk) return to_enum(:each_child_node) unless block_given? yield call targets.each { |node| yield node } end
See Node.each_child_node.
Repository
Methods related to Relocation.