diff options
author | Earlopain <[email protected]> | 2025-01-06 20:19:21 +0100 |
---|---|---|
committer | Kevin Newton <[email protected]> | 2025-01-11 19:09:05 -0500 |
commit | 9f38ee11cb4554ec4e08fb22a9c804c746cce029 (patch) | |
tree | 939f088fee16a8d03380c66dfb05e3e45297dff1 | |
parent | a234fd516f82702f9efd67e3f67de129702a6801 (diff) |
[ruby/prism] Fix parser translator ast for empty regex
In that specific case, no string node is emitted
https://github.com/ruby/prism/commit/1166db13dd
-rw-r--r-- | lib/prism/translation/parser/compiler.rb | 4 | ||||
-rw-r--r-- | test/prism/fixtures/regex.txt | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/prism/translation/parser/compiler.rb b/lib/prism/translation/parser/compiler.rb index c6a7154625..a20136a03d 100644 --- a/lib/prism/translation/parser/compiler.rb +++ b/lib/prism/translation/parser/compiler.rb @@ -1512,7 +1512,9 @@ module Prism # ^^^^^ def visit_regular_expression_node(node) parts = - if node.content.include?("\n") + if node.content == "" + [] + elsif node.content.include?("\n") string_nodes_from_line_continuations(node, node.content_loc.start_offset, node.opening) else [builder.string_internal(token(node.content_loc))] diff --git a/test/prism/fixtures/regex.txt b/test/prism/fixtures/regex.txt index 85e600fbdd..712bfc081a 100644 --- a/test/prism/fixtures/regex.txt +++ b/test/prism/fixtures/regex.txt @@ -54,3 +54,5 @@ d\\\ e\\ f\ / + +// |