instance method
Prism::Translation::RubyParser::Compiler#visit_array_pattern_node
visit_array_pattern_node(node)
lib/prism/translation/ruby_parser.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/prism/translation/ruby_parser.rb, line 103
def visit_array_pattern_node(node)
if node.constant.nil? && node.requireds.empty? && node.rest.nil? && node.posts.empty?
s(node, :array_pat)
else
result = s(node, :array_pat, visit_pattern_constant(node.constant)).concat(visit_all(node.requireds))
case node.rest
when SplatNode
result << :"*#{node.rest.expression&.name}"
when ImplicitRestNode
result << :*
# This doesn't make any sense at all, but since we're trying to
# replicate the behavior directly, we'll copy it.
result.line(666)
end
result.concat(visit_all(node.posts))
end
end
foo => [bar]
^^^^^
See also
#visit_array_node
#visit_assoc_node
#visit_arguments_node
#visit_assoc_splat_node
also in
3.4