@@ -480,16 +480,16 @@ exports.Lexer = class Lexer
480
480
@ validateUnicodeCodePointEscapes body, {delimiter}
481
481
@ token ' REGEX' , " /#{ body} /#{ flags} " , {length : end, origin, data : {delimiter}}
482
482
else
483
- @ token ' REGEX_START' , ' (' , {length : 0 , origin}
484
- @ token ' IDENTIFIER' , ' RegExp' , length : 0
485
- @ token ' CALL_START' , ' (' , length : 0
483
+ @ token ' REGEX_START' , ' (' , {length : 0 , origin, generated : yes }
484
+ @ token ' IDENTIFIER' , ' RegExp' , length : 0 , generated : yes
485
+ @ token ' CALL_START' , ' (' , length : 0 , generated : yes
486
486
@ mergeInterpolationTokens tokens, {double : yes , heregex : {flags}, endOffset : end - flags .length , quote : ' ///' }, (str ) =>
487
487
@ validateUnicodeCodePointEscapes str, {delimiter}
488
488
if flags
489
- @ token ' ,' , ' ,' , offset : index - 1 , length : 0
490
- @ token ' STRING' , ' "' + flags + ' "' , offset : index - 1 , length : flags .length
491
- @ token ' )' , ' )' , offset : end, length : 0
492
- @ token ' REGEX_END' , ' )' , offset : end, length : 0
489
+ @ token ' ,' , ' ,' , offset : index - 1 , length : 0 , generated : yes
490
+ @ token ' STRING' , ' "' + flags + ' "' , offset : index, length : flags .length
491
+ @ token ' )' , ' )' , offset : end, length : 0 , generated : yes
492
+ @ token ' REGEX_END' , ' )' , offset : end, length : 0 , generated : yes
493
493
494
494
# Explicitly attach any heregex comments to the REGEX/REGEX_END token.
495
495
if commentTokens ? .length
@@ -1008,7 +1008,7 @@ exports.Lexer = class Lexer
1008
1008
lastToken[2 ].range [1 ]
1009
1009
]
1010
1010
]
1011
- lparen[2 ] = lparen .origin [2 ]
1011
+ lparen[2 ] = lparen .origin [2 ] unless quote ? . length
1012
1012
rparen = @ token ' STRING_END' , ' )' , offset : endOffset - (quote ? ' ' ).length , length : quote ? .length ? 0 , generated : not quote ? .length
1013
1013
1014
1014
# Pairs up a closing token, ensuring that all listed pairs of tokens are
0 commit comments