@@ -28255,11 +28255,6 @@ namespace ts {
28255
28255
return undefinedWideningType;
28256
28256
}
28257
28257
28258
- function isInTopLevelContext(node: Node) {
28259
- const container = getThisContainer(node, /*includeArrowFunctions*/ true);
28260
- return isSourceFile(container);
28261
- }
28262
-
28263
28258
function checkAwaitExpression(node: AwaitExpression): Type {
28264
28259
// Grammar checking
28265
28260
if (produceDiagnostics) {
@@ -34861,7 +34856,6 @@ namespace ts {
34861
34856
}
34862
34857
34863
34858
function checkImportBinding(node: ImportEqualsDeclaration | ImportClause | NamespaceImport | ImportSpecifier) {
34864
- checkGrammarAwaitIdentifier(node.name);
34865
34859
checkCollisionWithRequireExportsInGeneratedCode(node, node.name!);
34866
34860
checkCollisionWithGlobalPromiseInGeneratedCode(node, node.name!);
34867
34861
checkAliasSymbol(node);
@@ -37627,31 +37621,19 @@ namespace ts {
37627
37621
return false;
37628
37622
}
37629
37623
37630
- function checkGrammarAwaitIdentifier(name: Identifier | undefined): boolean {
37631
- if (name && isIdentifier(name) && name.originalKeywordKind === SyntaxKind.AwaitKeyword && isInTopLevelContext(name.parent)) {
37632
- const file = getSourceFileOfNode(name);
37633
- if (!file.isDeclarationFile && isExternalModule(file)) {
37634
- return grammarErrorOnNode(name, Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module, idText(name));
37635
- }
37636
- }
37637
- return false;
37638
- }
37639
-
37640
37624
function checkGrammarFunctionLikeDeclaration(node: FunctionLikeDeclaration | MethodSignature): boolean {
37641
37625
// Prevent cascading error by short-circuit
37642
37626
const file = getSourceFileOfNode(node);
37643
37627
return checkGrammarDecoratorsAndModifiers(node) ||
37644
37628
checkGrammarTypeParameterList(node.typeParameters, file) ||
37645
- (isFunctionDeclaration(node) && checkGrammarAwaitIdentifier(node.name)) ||
37646
37629
checkGrammarParameterList(node.parameters) ||
37647
37630
checkGrammarArrowFunction(node, file) ||
37648
37631
(isFunctionLikeDeclaration(node) && checkGrammarForUseStrictSimpleParameterList(node));
37649
37632
}
37650
37633
37651
37634
function checkGrammarClassLikeDeclaration(node: ClassLikeDeclaration): boolean {
37652
37635
const file = getSourceFileOfNode(node);
37653
- return (isClassDeclaration(node) && checkGrammarAwaitIdentifier(node.name)) ||
37654
- checkGrammarClassDeclarationHeritageClauses(node) ||
37636
+ return checkGrammarClassDeclarationHeritageClauses(node) ||
37655
37637
checkGrammarTypeParameterList(node.typeParameters, file);
37656
37638
}
37657
37639
@@ -38294,10 +38276,6 @@ namespace ts {
38294
38276
}
38295
38277
}
38296
38278
38297
- if (isIdentifier(node.name) && checkGrammarAwaitIdentifier(node.name)) {
38298
- return true;
38299
- }
38300
-
38301
38279
if (node.dotDotDotToken && node.initializer) {
38302
38280
// Error on equals token which immediately precedes the initializer
38303
38281
return grammarErrorAtPos(node, node.initializer.pos - 1, 1, Diagnostics.A_rest_element_cannot_have_an_initializer);
@@ -38361,9 +38339,6 @@ namespace ts {
38361
38339
}
38362
38340
}
38363
38341
}
38364
- if (isIdentifier(node.name) && checkGrammarAwaitIdentifier(node.name)) {
38365
- return true;
38366
- }
38367
38342
38368
38343
if (node.exclamationToken && (node.parent.parent.kind !== SyntaxKind.VariableStatement || !node.type || node.initializer || node.flags & NodeFlags.Ambient)) {
38369
38344
return grammarErrorOnNode(node.exclamationToken, Diagnostics.Definite_assignment_assertions_can_only_be_used_along_with_a_type_annotation);
0 commit comments