summaryrefslogtreecommitdiff
path: root/lib/prism/translation/parser
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2024-03-04 09:39:33 -0500
committergit <svn-admin@ruby-lang.org>2024-03-04 16:40:37 +0000
commit03a73fdc3d5b612bba9a428b6680967b9189ee2d (patch)
treeec449487a0c7e6db3e1b4f4a2f57fc5e274203ca /lib/prism/translation/parser
parentc0a34a6c8c01a278156ab10c8628a95a3248e6e9 (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.rb6
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