Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix an error for
Prism::Translation::Parser
This PR fixes an error for `Prism::Translation::Parser` when using `case`/`when`/`end` without `then` expression. ```console $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \ 'p Prism::Translation::Parser33.parse("case foo when x; end").children.to_a[1].loc.begin.source' ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22] /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/compiler.rb:1610:in `visit_when_node': undefined method `then_keyword_loc' for an instance of Prism::WhenNode (NoMethodError) if node.then_keyword_loc ^^^^^^^^^^^^^^^^^ from /Users/koic/src/github.com/ruby/prism/lib/prism/node.rb:18060:in `accept' from /Users/koic/src/github.com/ruby/prism/lib/prism/compiler.rb:35:in `block in visit_all' from /Users/koic/src/github.com/ruby/prism/lib/prism/compiler.rb:35:in `map' from /Users/koic/src/github.com/ruby/prism/lib/prism/compiler.rb:35:in `visit_all' from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/compiler.rb:361:in `visit_case_node' from /Users/koic/src/github.com/ruby/prism/lib/prism/node.rb:3434:in `accept' from /Users/koic/src/github.com/ruby/prism/lib/prism/compiler.rb:35:in `block in visit_all' from /Users/koic/src/github.com/ruby/prism/lib/prism/compiler.rb:35:in `map' from /Users/koic/src/github.com/ruby/prism/lib/prism/compiler.rb:35:in `visit_all' from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/compiler.rb:1476:in `visit_statements_node' from /Users/koic/src/github.com/ruby/prism/lib/prism/node.rb:16964:in `accept' from /Users/koic/src/github.com/ruby/prism/lib/prism/compiler.rb:30:in `visit' from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/compiler.rb:1300:in `visit_program_node' from /Users/koic/src/github.com/ruby/prism/lib/prism/node.rb:14988:in `accept' from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:159:in `build_ast' from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:48:in `parse' from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse' from -e:1:in `<main>' ```
- Loading branch information