@@ -28572,11 +28572,6 @@ namespace ts {
28572
28572
return undefinedWideningType;
28573
28573
}
28574
28574
28575
- function isInTopLevelContext(node: Node) {
28576
- const container = getThisContainer(node, /*includeArrowFunctions*/ true);
28577
- return isSourceFile(container);
28578
- }
28579
-
28580
28575
function checkAwaitExpression(node: AwaitExpression): Type {
28581
28576
// Grammar checking
28582
28577
if (produceDiagnostics) {
@@ -35222,7 +35217,6 @@ namespace ts {
35222
35217
}
35223
35218
35224
35219
function checkImportBinding(node: ImportEqualsDeclaration | ImportClause | NamespaceImport | ImportSpecifier) {
35225
- checkGrammarAwaitIdentifier(node.name);
35226
35220
checkCollisionWithRequireExportsInGeneratedCode(node, node.name!);
35227
35221
checkCollisionWithGlobalPromiseInGeneratedCode(node, node.name!);
35228
35222
checkAliasSymbol(node);
@@ -37988,31 +37982,19 @@ namespace ts {
37988
37982
return false;
37989
37983
}
37990
37984
37991
- function checkGrammarAwaitIdentifier(name: Identifier | undefined): boolean {
37992
- if (name && isIdentifier(name) && name.originalKeywordKind === SyntaxKind.AwaitKeyword && isInTopLevelContext(name.parent)) {
37993
- const file = getSourceFileOfNode(name);
37994
- if (!file.isDeclarationFile && isExternalModule(file)) {
37995
- return grammarErrorOnNode(name, Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module, idText(name));
37996
- }
37997
- }
37998
- return false;
37999
- }
38000
-
38001
37985
function checkGrammarFunctionLikeDeclaration(node: FunctionLikeDeclaration | MethodSignature): boolean {
38002
37986
// Prevent cascading error by short-circuit
38003
37987
const file = getSourceFileOfNode(node);
38004
37988
return checkGrammarDecoratorsAndModifiers(node) ||
38005
37989
checkGrammarTypeParameterList(node.typeParameters, file) ||
38006
- (isFunctionDeclaration(node) && checkGrammarAwaitIdentifier(node.name)) ||
38007
37990
checkGrammarParameterList(node.parameters) ||
38008
37991
checkGrammarArrowFunction(node, file) ||
38009
37992
(isFunctionLikeDeclaration(node) && checkGrammarForUseStrictSimpleParameterList(node));
38010
37993
}
38011
37994
38012
37995
function checkGrammarClassLikeDeclaration(node: ClassLikeDeclaration): boolean {
38013
37996
const file = getSourceFileOfNode(node);
38014
- return (isClassDeclaration(node) && checkGrammarAwaitIdentifier(node.name)) ||
38015
- checkGrammarClassDeclarationHeritageClauses(node) ||
37997
+ return checkGrammarClassDeclarationHeritageClauses(node) ||
38016
37998
checkGrammarTypeParameterList(node.typeParameters, file);
38017
37999
}
38018
38000
@@ -38655,10 +38637,6 @@ namespace ts {
38655
38637
}
38656
38638
}
38657
38639
38658
- if (isIdentifier(node.name) && checkGrammarAwaitIdentifier(node.name)) {
38659
- return true;
38660
- }
38661
-
38662
38640
if (node.dotDotDotToken && node.initializer) {
38663
38641
// Error on equals token which immediately precedes the initializer
38664
38642
return grammarErrorAtPos(node, node.initializer.pos - 1, 1, Diagnostics.A_rest_element_cannot_have_an_initializer);
@@ -38722,9 +38700,6 @@ namespace ts {
38722
38700
}
38723
38701
}
38724
38702
}
38725
- if (isIdentifier(node.name) && checkGrammarAwaitIdentifier(node.name)) {
38726
- return true;
38727
- }
38728
38703
38729
38704
if (node.exclamationToken && (node.parent.parent.kind !== SyntaxKind.VariableStatement || !node.type || node.initializer || node.flags & NodeFlags.Ambient)) {
38730
38705
return grammarErrorOnNode(node.exclamationToken, Diagnostics.Definite_assignment_assertions_can_only_be_used_along_with_a_type_annotation);
0 commit comments