Skip to content

Commit

Permalink
Fix up block arguments node for ripper translation
Browse files Browse the repository at this point in the history
  • Loading branch information
kddnewton committed Mar 6, 2024
1 parent 1f16df1 commit 81feef4
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 18 deletions.
15 changes: 7 additions & 8 deletions lib/prism/translation/ripper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -693,22 +693,21 @@ def visit_call_node(node)
block = nil
end

arguments =
[
if arguments.length == 1 && arguments.first.is_a?(ForwardingArgumentsNode)
visit(arguments.first)
elsif arguments.any?
args = visit_arguments(arguments)

if block.is_a?(BlockArgumentNode) || arguments.last.is_a?(ForwardingArgumentsNode)
if block_node.is_a?(BlockArgumentNode) || arguments.last.is_a?(ForwardingArgumentsNode)
args
else
bounds(arguments.first.location)
on_args_add_block(args, false)
end
end

block = visit(block) if !block.nil?
[arguments, block]
end,
visit(block)
]
end

# foo.bar += baz
Expand Down Expand Up @@ -1985,10 +1984,10 @@ def visit_next_node(node)
bounds(node.location)
on_next(on_args_new)
else
arguments = visit_arguments(node.arguments.arguments)
arguments = visit(node.arguments)

bounds(node.location)
on_next(on_args_add_block(arguments, false))
on_next(arguments)
end
end

Expand Down
10 changes: 0 additions & 10 deletions test/prism/ripper_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ class RipperTest < TestCase
heredocs_with_ignored_newlines.txt
if.txt
method_calls.txt
methods.txt
modules.txt
multi_write.txt
patterns.txt
Expand All @@ -52,7 +51,6 @@ class RipperTest < TestCase
seattlerb/call_args_command.txt
seattlerb/call_array_lambda_block_call.txt
seattlerb/call_assoc_trailing_comma.txt
seattlerb/call_block_arg_named.txt
seattlerb/call_trailing_comma.txt
seattlerb/case_in.txt
seattlerb/defn_oneliner_eq2.txt
Expand Down Expand Up @@ -113,25 +111,17 @@ class RipperTest < TestCase
unparser/corpus/literal/pattern.txt
unparser/corpus/literal/send.txt
unparser/corpus/literal/since/27.txt
unparser/corpus/literal/since/31.txt
unparser/corpus/literal/while.txt
unparser/corpus/semantic/dstr.txt
unparser/corpus/semantic/literal.txt
unparser/corpus/semantic/while.txt
until.txt
variables.txt
while.txt
whitequark/anonymous_blockarg.txt
whitequark/args_args_assocs.txt
whitequark/args_args_assocs_comma.txt
whitequark/args_args_comma.txt
whitequark/args_args_star.txt
whitequark/args_assocs.txt
whitequark/args_assocs_comma.txt
whitequark/args_assocs_legacy.txt
whitequark/args_block_pass.txt
whitequark/args_cmd.txt
whitequark/args_star.txt
whitequark/asgn_mrhs.txt
whitequark/bug_480.txt
whitequark/dedenting_heredoc.txt
Expand Down

0 comments on commit 81feef4

Please sign in to comment.