[ruby/prism] Revert "Revert "Properly destructure procarg0 in parser translation""
This reverts commit https://github.com/ruby/prism/commit/d8ae19d0334a. https://github.com/ruby/prism/commit/df1eda2811
This commit is contained in:
parent
a2147eb694
commit
fd517a97be
@ -1390,12 +1390,12 @@ module Prism
|
|||||||
|
|
||||||
if node.requireds.any?
|
if node.requireds.any?
|
||||||
node.requireds.each do |required|
|
node.requireds.each do |required|
|
||||||
if required.is_a?(RequiredParameterNode)
|
params <<
|
||||||
params << visit(required)
|
if required.is_a?(RequiredParameterNode)
|
||||||
else
|
visit(required)
|
||||||
compiler = copy_compiler(in_destructure: true)
|
else
|
||||||
params << required.accept(compiler)
|
required.accept(copy_compiler(in_destructure: true))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1404,12 +1404,12 @@ module Prism
|
|||||||
|
|
||||||
if node.posts.any?
|
if node.posts.any?
|
||||||
node.posts.each do |post|
|
node.posts.each do |post|
|
||||||
if post.is_a?(RequiredParameterNode)
|
params <<
|
||||||
params << visit(post)
|
if post.is_a?(RequiredParameterNode)
|
||||||
else
|
visit(post)
|
||||||
compiler = copy_compiler(in_destructure: true)
|
else
|
||||||
params << post.accept(compiler)
|
post.accept(copy_compiler(in_destructure: true))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -2004,7 +2004,8 @@ module Prism
|
|||||||
token(parameters.opening_loc),
|
token(parameters.opening_loc),
|
||||||
if procarg0?(parameters.parameters)
|
if procarg0?(parameters.parameters)
|
||||||
parameter = parameters.parameters.requireds.first
|
parameter = parameters.parameters.requireds.first
|
||||||
[builder.procarg0(visit(parameter))].concat(visit_all(parameters.locals))
|
visited = parameter.is_a?(RequiredParameterNode) ? visit(parameter) : parameter.accept(copy_compiler(in_destructure: true))
|
||||||
|
[builder.procarg0(visited)].concat(visit_all(parameters.locals))
|
||||||
else
|
else
|
||||||
visit(parameters)
|
visit(parameters)
|
||||||
end,
|
end,
|
||||||
|
@ -52,11 +52,6 @@ module Prism
|
|||||||
"spanning_heredoc.txt",
|
"spanning_heredoc.txt",
|
||||||
"spanning_heredoc_newlines.txt",
|
"spanning_heredoc_newlines.txt",
|
||||||
"unescaping.txt",
|
"unescaping.txt",
|
||||||
"seattlerb/block_decomp_anon_splat_arg.txt",
|
|
||||||
"seattlerb/block_decomp_arg_splat_arg.txt",
|
|
||||||
"seattlerb/block_decomp_arg_splat.txt",
|
|
||||||
"seattlerb/block_decomp_splat.txt",
|
|
||||||
"seattlerb/block_paren_splat.txt",
|
|
||||||
"seattlerb/bug190.txt",
|
"seattlerb/bug190.txt",
|
||||||
"seattlerb/heredoc_nested.txt",
|
"seattlerb/heredoc_nested.txt",
|
||||||
"seattlerb/heredoc_with_carriage_return_escapes_windows.txt",
|
"seattlerb/heredoc_with_carriage_return_escapes_windows.txt",
|
||||||
@ -69,7 +64,6 @@ module Prism
|
|||||||
"seattlerb/pctW_lineno.txt",
|
"seattlerb/pctW_lineno.txt",
|
||||||
"seattlerb/regexp_esc_C_slash.txt",
|
"seattlerb/regexp_esc_C_slash.txt",
|
||||||
"seattlerb/TestRubyParserShared.txt",
|
"seattlerb/TestRubyParserShared.txt",
|
||||||
"unparser/corpus/literal/block.txt",
|
|
||||||
"unparser/corpus/literal/literal.txt",
|
"unparser/corpus/literal/literal.txt",
|
||||||
"unparser/corpus/literal/pattern.txt",
|
"unparser/corpus/literal/pattern.txt",
|
||||||
"unparser/corpus/semantic/dstr.txt",
|
"unparser/corpus/semantic/dstr.txt",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user