fix(61747): for (using of = is incorrectly parsed (#61764)

This commit is contained in:
Oleksandr T.
2025-06-05 16:37:40 -07:00
committed by GitHub
parent 2b88aebaaa
commit a591ca3fdc
4 changed files with 41 additions and 1 deletions
+8 -1
View File
@@ -7328,9 +7328,16 @@ namespace Parser {
return nextTokenIsBindingIdentifierOrStartOfDestructuringOnSameLine(/*disallowOf*/ true);
}
function nextTokenIsEqualsOrSemicolonOrColonToken() {
nextToken();
return token() === SyntaxKind.EqualsToken || token() === SyntaxKind.SemicolonToken || token() === SyntaxKind.ColonToken;
}
function nextTokenIsBindingIdentifierOrStartOfDestructuringOnSameLine(disallowOf?: boolean) {
nextToken();
if (disallowOf && token() === SyntaxKind.OfKeyword) return false;
if (disallowOf && token() === SyntaxKind.OfKeyword) {
return lookAhead(nextTokenIsEqualsOrSemicolonOrColonToken);
}
return (isBindingIdentifier() || token() === SyntaxKind.OpenBraceToken) && !scanner.hasPrecedingLineBreak();
}