viralpraxis
543dd77cc3
[ruby/prism] Fix parsing rescued exception via indexed assignment
Given this code
```ruby
begin
raise '42'
rescue => A[]
end
```
Prism fails with this backtrace
```
Error: test_unparser/corpus/literal/rescue.txt(Prism::ParserTest): NoMethodError: undefined method `arguments' for nil
prism/lib/prism/translation/parser/compiler.rb:1055:in `visit_index_target_node'
prism/lib/prism/node.rb:9636:in `accept'
prism/lib/prism/compiler.rb:30:in `visit'
prism/lib/prism/translation/parser/compiler.rb:218:in `visit_begin_node'
```
Seems like
```diff
- visit_all(node.arguments.arguments),
+ visit_all(node.arguments&.arguments || []),
```
fixes the problem.
https://github.com/ruby/prism/commit/76d01aeb6c
2025-04-12 17:43:57 +00:00
..
2025-02-13 20:04:02 +00:00
2025-03-19 21:03:18 +00:00
2025-04-12 17:43:57 +00:00
2024-08-28 15:06:53 -04:00
2025-03-19 21:11:57 +00:00
2024-09-25 18:35:05 +00:00
2025-03-19 21:03:18 +00:00
2025-01-14 20:31:38 +00:00
2025-03-23 22:16:45 +00:00
2024-12-11 19:50:20 +00:00
2024-10-11 19:34:57 +00:00
2025-03-20 21:20:23 +00:00