Skip to content

Commit b1a5b0f

Browse files
authored
fix: Fix infinite loop on template literals during parse error recovery (#2011)
1 parent b652b46 commit b1a5b0f

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/parser.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4296,10 +4296,18 @@ export class Parser extends DiagnosticEmitter {
42964296
tn.readIdentifier();
42974297
break;
42984298
}
4299-
case Token.STRINGLITERAL: {
4299+
case Token.STRINGLITERAL:{
43004300
tn.readString();
43014301
break;
43024302
}
4303+
case Token.TEMPLATELITERAL: {
4304+
tn.readString();
4305+
while(tn.readingTemplateString){
4306+
this.skipBlock(tn);
4307+
tn.readString(CharCode.BACKTICK);
4308+
}
4309+
break;
4310+
}
43034311
case Token.INTEGERLITERAL: {
43044312
tn.readInteger();
43054313
tn.checkForIdentifierStartAfterNumericLiteral();

0 commit comments

Comments
 (0)