Skip to content

Commit fa7dde7

Browse files
committed
Add read_escape method to lexer
1 parent 86fcf97 commit fa7dde7

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

lib/opal/parser/lexer.rb

+17-13
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,22 @@ def process_numeric
175175
end
176176
end
177177

178+
def read_escape
179+
if scan(/n/)
180+
"\n"
181+
elsif scan(/r/)
182+
"\r"
183+
elsif scan(/\n/)
184+
"\n"
185+
elsif scan(/t/)
186+
"\t"
187+
else
188+
# escaped char doesnt need escaping, so just return it
189+
scan(/./)
190+
scanner.matched
191+
end
192+
end
193+
178194
def next_string_token
179195
str_parse = self.strterm
180196
scanner = @scanner
@@ -399,19 +415,7 @@ def add_string_content(str_buffer, str_parse)
399415
c = "\\" + scanner.matched
400416
end
401417
else
402-
c = if scan(/n/)
403-
"\n"
404-
elsif scan(/r/)
405-
"\r"
406-
elsif scan(/\n/)
407-
"\n"
408-
elsif scan(/t/)
409-
"\t"
410-
else
411-
# escaped char doesnt need escaping, so just return it
412-
scan(/./)
413-
scanner.matched
414-
end
418+
c = self.read_escape
415419
end
416420
else
417421
handled = false

0 commit comments

Comments
 (0)