diff options
author | Kevin Newton <kddnewton@gmail.com> | 2024-03-05 23:29:10 -0500 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2024-03-06 16:42:55 +0000 |
commit | ae3f385c5f0a3a9272f53cc64525c78f4a7ae410 (patch) | |
tree | 6c61694b81a0f1b8be5cb0080fa77ca577f752a2 /lib/prism/translation/ripper.rb | |
parent | be5d99f7a22b8917fbae080f7ceeae94206f765a (diff) |
[ruby/prism] Fix up block arguments node for ripper translation
https://github.com/ruby/prism/commit/81feef447a
Diffstat (limited to 'lib/prism/translation/ripper.rb')
-rw-r--r-- | lib/prism/translation/ripper.rb | 15 |
1 files changed, 7 insertions, 8 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 |