summaryrefslogtreecommitdiff
path: root/lib/prism/translation/ripper.rb
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2024-03-06 01:35:04 -0500
committergit <svn-admin@ruby-lang.org>2024-03-06 16:43:02 +0000
commit8528e765b7c62dc3e7f10f1a9df319bda37ac509 (patch)
tree999e1e3b6a66c3016c0077c57aff29fa8277b3c1 /lib/prism/translation/ripper.rb
parentd23ebdfa6d3061b50ae726e6f494b14bc6019f8d (diff)
[ruby/prism] Handle single splat in rescue in ripper translation
https://github.com/ruby/prism/commit/76cf29e68d
Diffstat (limited to 'lib/prism/translation/ripper.rb')
-rw-r--r--lib/prism/translation/ripper.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/prism/translation/ripper.rb b/lib/prism/translation/ripper.rb
index 5f32e18872..be7157512b 100644
--- a/lib/prism/translation/ripper.rb
+++ b/lib/prism/translation/ripper.rb
@@ -2306,7 +2306,12 @@ module Prism
when 0
nil
when 1
- [visit(node.exceptions.first)]
+ if (exception = node.exceptions.first).is_a?(SplatNode)
+ bounds(exception.location)
+ on_mrhs_add_star(on_mrhs_new, visit(exception))
+ else
+ [visit(node.exceptions.first)]
+ end
else
bounds(node.location)
length = node.exceptions.length