summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEarlopain <[email protected]>2025-01-06 20:19:21 +0100
committerKevin Newton <[email protected]>2025-01-11 19:09:05 -0500
commit9f38ee11cb4554ec4e08fb22a9c804c746cce029 (patch)
tree939f088fee16a8d03380c66dfb05e3e45297dff1
parenta234fd516f82702f9efd67e3f67de129702a6801 (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.rb4
-rw-r--r--test/prism/fixtures/regex.txt2
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\
/
+
+//