summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2024-03-05 23:29:10 -0500
committergit <svn-admin@ruby-lang.org>2024-03-06 16:42:55 +0000
commitae3f385c5f0a3a9272f53cc64525c78f4a7ae410 (patch)
tree6c61694b81a0f1b8be5cb0080fa77ca577f752a2
parentbe5d99f7a22b8917fbae080f7ceeae94206f765a (diff)
[ruby/prism] Fix up block arguments node for ripper translation
https://github.com/ruby/prism/commit/81feef447a
-rw-r--r--lib/prism/translation/ripper.rb15
-rw-r--r--test/prism/ripper_test.rb10
2 files changed, 7 insertions, 18 deletions
diff --git a/lib/prism/translation/ripper.rb b/lib/prism/translation/ripper.rb
index 8f67c3d077..42c4dfff87 100644
--- a/lib/prism/translation/ripper.rb
+++ b/lib/prism/translation/ripper.rb
@@ -693,22 +693,21 @@ module Prism
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
@@ -1985,10 +1984,10 @@ module Prism
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
diff --git a/test/prism/ripper_test.rb b/test/prism/ripper_test.rb
index 8aae082f36..69906cc3bd 100644
--- a/test/prism/ripper_test.rb
+++ b/test/prism/ripper_test.rb
@@ -32,7 +32,6 @@ module Prism
heredocs_with_ignored_newlines.txt
if.txt
method_calls.txt
- methods.txt
modules.txt
multi_write.txt
patterns.txt
@@ -52,7 +51,6 @@ module Prism
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
@@ -113,7 +111,6 @@ module Prism
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
@@ -121,17 +118,10 @@ module Prism
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