diff options
author | Kevin Newton <kddnewton@gmail.com> | 2024-03-04 09:39:33 -0500 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2024-03-04 16:40:37 +0000 |
commit | 03a73fdc3d5b612bba9a428b6680967b9189ee2d (patch) | |
tree | ec449487a0c7e6db3e1b4f4a2f57fc5e274203ca /lib/prism/translation/parser | |
parent | c0a34a6c8c01a278156ab10c8628a95a3248e6e9 (diff) |
[ruby/prism] Add then keyword loc to when nodes
https://github.com/ruby/prism/commit/e1e613df16
Diffstat (limited to 'lib/prism/translation/parser')
-rw-r--r-- | lib/prism/translation/parser/compiler.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/prism/translation/parser/compiler.rb b/lib/prism/translation/parser/compiler.rb index 3ce62bb8f1..1369fe6f81 100644 --- a/lib/prism/translation/parser/compiler.rb +++ b/lib/prism/translation/parser/compiler.rb @@ -1607,7 +1607,11 @@ module Prism builder.when( token(node.keyword_loc), visit_all(node.conditions), - srange_find(node.conditions.last.location.end_offset, node.statements&.location&.start_offset || (node.conditions.last.location.end_offset + 1), [";", "then"]), + if node.then_keyword_loc + token(node.then_keyword_loc) + else + srange_find(node.conditions.last.location.end_offset, node.statements&.location&.start_offset || (node.conditions.last.location.end_offset + 1), [";"]) + end, visit(node.statements) ) end |