Maintenance Ruby 3.4 gets fixes, but no new features. Switch to Ruby 4.0 →
instance method
Prism::Translation::RubyParser::Compiler#visit_multi_write_node
visit_multi_write_node(node)
lib/prism/translation/ruby_parser.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.4.1/lib/prism/translation/ruby_parser.rb, line 1098
def visit_multi_write_node(node)
targets = [*node.lefts]
targets << node.rest if !node.rest.nil? && !node.rest.is_a?(ImplicitRestNode)
targets.concat(node.rights)
value =
if node.value.is_a?(ArrayNode) && node.value.opening_loc.nil?
if node.value.elements.length == 1 && node.value.elements.first.is_a?(SplatNode)
visit(node.value.elements.first)
else
visit(node.value)
end
else
s(node.value, :to_ary, visit(node.value))
end
s(node, :masgn, s(node, :array).concat(visit_all(targets)), value)
end
foo, bar = baz ^^^^^^^^^^^^^^