@@ -28557,11 +28557,6 @@ namespace ts {
28557
28557
return undefinedWideningType;
28558
28558
}
28559
28559
28560
- function isInTopLevelContext(node: Node) {
28561
- const container = getThisContainer(node, /*includeArrowFunctions*/ true);
28562
- return isSourceFile(container);
28563
- }
28564
-
28565
28560
function checkAwaitExpression(node: AwaitExpression): Type {
28566
28561
// Grammar checking
28567
28562
if (produceDiagnostics) {
@@ -35168,7 +35163,6 @@ namespace ts {
35168
35163
}
35169
35164
35170
35165
function checkImportBinding(node: ImportEqualsDeclaration | ImportClause | NamespaceImport | ImportSpecifier) {
35171
- checkGrammarAwaitIdentifier(node.name);
35172
35166
checkCollisionWithRequireExportsInGeneratedCode(node, node.name!);
35173
35167
checkCollisionWithGlobalPromiseInGeneratedCode(node, node.name!);
35174
35168
checkAliasSymbol(node);
@@ -37934,31 +37928,19 @@ namespace ts {
37934
37928
return false;
37935
37929
}
37936
37930
37937
- function checkGrammarAwaitIdentifier(name: Identifier | undefined): boolean {
37938
- if (name && isIdentifier(name) && name.originalKeywordKind === SyntaxKind.AwaitKeyword && isInTopLevelContext(name.parent)) {
37939
- const file = getSourceFileOfNode(name);
37940
- if (!file.isDeclarationFile && isExternalModule(file)) {
37941
- return grammarErrorOnNode(name, Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module, idText(name));
37942
- }
37943
- }
37944
- return false;
37945
- }
37946
-
37947
37931
function checkGrammarFunctionLikeDeclaration(node: FunctionLikeDeclaration | MethodSignature): boolean {
37948
37932
// Prevent cascading error by short-circuit
37949
37933
const file = getSourceFileOfNode(node);
37950
37934
return checkGrammarDecoratorsAndModifiers(node) ||
37951
37935
checkGrammarTypeParameterList(node.typeParameters, file) ||
37952
- (isFunctionDeclaration(node) && checkGrammarAwaitIdentifier(node.name)) ||
37953
37936
checkGrammarParameterList(node.parameters) ||
37954
37937
checkGrammarArrowFunction(node, file) ||
37955
37938
(isFunctionLikeDeclaration(node) && checkGrammarForUseStrictSimpleParameterList(node));
37956
37939
}
37957
37940
37958
37941
function checkGrammarClassLikeDeclaration(node: ClassLikeDeclaration): boolean {
37959
37942
const file = getSourceFileOfNode(node);
37960
- return (isClassDeclaration(node) && checkGrammarAwaitIdentifier(node.name)) ||
37961
- checkGrammarClassDeclarationHeritageClauses(node) ||
37943
+ return checkGrammarClassDeclarationHeritageClauses(node) ||
37962
37944
checkGrammarTypeParameterList(node.typeParameters, file);
37963
37945
}
37964
37946
@@ -38601,10 +38583,6 @@ namespace ts {
38601
38583
}
38602
38584
}
38603
38585
38604
- if (isIdentifier(node.name) && checkGrammarAwaitIdentifier(node.name)) {
38605
- return true;
38606
- }
38607
-
38608
38586
if (node.dotDotDotToken && node.initializer) {
38609
38587
// Error on equals token which immediately precedes the initializer
38610
38588
return grammarErrorAtPos(node, node.initializer.pos - 1, 1, Diagnostics.A_rest_element_cannot_have_an_initializer);
@@ -38668,9 +38646,6 @@ namespace ts {
38668
38646
}
38669
38647
}
38670
38648
}
38671
- if (isIdentifier(node.name) && checkGrammarAwaitIdentifier(node.name)) {
38672
- return true;
38673
- }
38674
38649
38675
38650
if (node.exclamationToken && (node.parent.parent.kind !== SyntaxKind.VariableStatement || !node.type || node.initializer || node.flags & NodeFlags.Ambient)) {
38676
38651
return grammarErrorOnNode(node.exclamationToken, Diagnostics.Definite_assignment_assertions_can_only_be_used_along_with_a_type_annotation);
0 commit comments