@@ -38441,26 +38441,23 @@ namespace ts {
3844138441
3844238442 if (forInOrOfStatement.kind === SyntaxKind.ForOfStatement && forInOrOfStatement.awaitModifier) {
3844338443 if (!(forInOrOfStatement.flags & NodeFlags.AwaitContext)) {
38444- let diagnostic: DiagnosticWithLocation | null;
3844538444 const sourceFile = getSourceFileOfNode(forInOrOfStatement);
3844638445 if (isInTopLevelContext(forInOrOfStatement)) {
3844738446 if (!hasParseDiagnostics(sourceFile)) {
3844838447 if (!isEffectiveExternalModule(sourceFile, compilerOptions)) {
38449- diagnostic = createDiagnosticForNode(forInOrOfStatement.awaitModifier,
38450- Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module);
38451- diagnostics.add(diagnostic);
38448+ diagnostics.add(createDiagnosticForNode(forInOrOfStatement.awaitModifier,
38449+ Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module));
3845238450 }
3845338451 if ((moduleKind !== ModuleKind.ESNext && moduleKind !== ModuleKind.System) || languageVersion < ScriptTarget.ES2017) {
38454- diagnostic = createDiagnosticForNode(forInOrOfStatement.awaitModifier,
38455- Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher);
38456- diagnostics.add(diagnostic);
38452+ diagnostics.add(createDiagnosticForNode(forInOrOfStatement.awaitModifier,
38453+ Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher));
3845738454 }
3845838455 }
3845938456 }
3846038457 else {
3846138458 // use of 'for-await-of' in non-async function
3846238459 if (!hasParseDiagnostics(sourceFile)) {
38463- diagnostic = createDiagnosticForNode(forInOrOfStatement.awaitModifier, Diagnostics.A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator);
38460+ const diagnostic = createDiagnosticForNode(forInOrOfStatement.awaitModifier, Diagnostics.A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator);
3846438461 const func = getContainingFunction(forInOrOfStatement);
3846538462 if (func && func.kind !== SyntaxKind.Constructor) {
3846638463 Debug.assert((getFunctionFlags(func) & FunctionFlags.Async) === 0, "Enclosing function should never be an async function.");
0 commit comments