Version 3.4.0-184.0.dev

Merge cad61f98600c0d87b753b33596175c6bb5402767 into dev
diff --git a/DEPS b/DEPS
index 286b234..5dba3af 100644
--- a/DEPS
+++ b/DEPS
@@ -142,14 +142,14 @@
   #
   # For more details, see https://github.com/dart-lang/sdk/issues/30164.
   "dart_style_rev": "a6ad7693555a9add6f98ad6fd94de80d35c89415", # disable rev_sdk_deps.dart
-  "dartdoc_rev": "7a9df65fbca600ecb3ada4b08002c8ab9ee4e987",
+  "dartdoc_rev": "7a9df65fbca600ecb3ada4b08002c8ab9ee4e987", # https://github.com/dart-lang/dartdoc/issues/3680
   "ecosystem_rev": "3e4f2866d49c2448e44f51112956a689a2e50cd6",
   "file_rev": "3aa06490bf34bddf04c7ea964a50c177a4ca0de7",
   "fixnum_rev": "570b28adcfbfdd5b8a7230ea1d6ec0f9587493f1",
   "flute_rev": "a531c96a8b43d015c6bfbbfe3ab54867b0763b8b",
   "glob_rev": "ef5f0650f66dc64587b11757fe3303538cfeb1d8",
   "html_rev": "327e37a6a4dd46599737ee982f280d73a8f646f7",
-  "http_rev": "ce0de370e4f6fabf54d2c47fafe38f80cdc2501c",
+  "http_rev": "6e0a46fca693b4aebaf282da68712b1550f1b4ca",
   "http_multi_server_rev": "ba9d07f3596b24718ddf45c9e071d40879cca565",
   "http_parser_rev": "84db8b029d9b51859a0bb4966859af009f9442e3",
   "intl_rev": "5d65e3808ce40e6282e40881492607df4e35669f",
@@ -166,7 +166,7 @@
   "package_config_rev": "4a7042bb286cf0b41b26e87972bc28bda535f8b9",
   "path_rev": "a7b696071bd83d3ee0a0f1b57ac94d6b1f05cac4",
   "pool_rev": "782da82fedca4e5776e43ba321543ed2b20373b2",
-  "protobuf_rev": "f085bfdc4e746cd5e189da3dc9223031cf958e02",
+  "protobuf_rev": "ef0ab7df985a4b00f3a6850fb160a214ebc0683e",
   "pub_rev": "4ab2e3663f0a98be40427e004e789caebf3ea72e", # disable rev_sdk_deps.dart
   "pub_semver_rev": "3175ba0a58a96fb23f8d68b5f5c44d1a5b30cc16",
   "shelf_rev": "b432620f109b92c0399261722aa28c4d8d9a385c",
@@ -184,18 +184,18 @@
   "test_descriptor_rev": "35f97afacb2b7fe627f6ed0bede722fd48980848",
   "test_process_rev": "7fe39afbb6c444f256c1ec0eef008edebcd44644",
   "test_reflective_loader_rev": "9862703a3d14848376c8efde271c88022fba91eb",
-  "tools_rev": "9f4e6a4a7de6602a5c13109c1fad8d7b36bec55f",
+  "tools_rev": "c7fbf26db1cb102efa6327f95beade9fe245578a",
   "typed_data_rev": "375efaa02a13dad0785cfbd9bdcb9f09aa8ef529",
   "usage_rev": "67ecd7d1328347ec15cbf8d8a46918df75a66af8",
   "vector_math_rev": "3706feb60f1fb0541dae9cf6b9ef91cd5ea766c6",
   "watcher_rev": "21858a41da1482922e03ee65cdf2169d01d59a67",
-  "web_rev": "975e55cbe4ac683c33d5256a91f4133fa97b4c34",
+  "web_rev": "d96c01d2252372c9e0fa7ffa52d2d1df331c248b",
   "web_socket_channel_rev": "3db86bc0a09e1038a0fa418262c8a92211c5de69",
   "webdev_rev": "51b5484348b4a8ede351e8dff0428b083495ba78",
   "webdriver_rev": "2c1b6f8b9d684caf62d72bb327c24f738a4e7455",
   "webkit_inspection_protocol_rev": "07295b9a5a1f1851666269128e95a9644d65107a",
   "yaml_rev": "e5984433a2803d5c67ed0abac5891a55040381ee",
-  "yaml_edit_rev": "82ab64d1217c08d93697aa414f214836eef52a4e",
+  "yaml_edit_rev": "54884db790720ac0f7ca491cb9e6d7a0395ad4cb",
 
   # Windows deps
   "crashpad_rev": "bf327d8ceb6a669607b0dbab5a83a275d03f99ed",
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
index 9b15f8c..ae991fb 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
@@ -1256,6 +1256,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
@@ -1264,8 +1265,16 @@
       int count,
       Token beginToken,
       Token endToken) {
-    listener?.endTopLevelFields(externalToken, staticToken, covariantToken,
-        lateToken, varFinalOrConst, count, beginToken, endToken);
+    listener?.endTopLevelFields(
+        augmentToken,
+        externalToken,
+        staticToken,
+        covariantToken,
+        lateToken,
+        varFinalOrConst,
+        count,
+        beginToken,
+        endToken);
   }
 
   @override
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
index 1af892b..acda205 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
@@ -1482,6 +1482,7 @@
   ///
   /// Started by [beginFields].
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
index d173dd4..dd03395 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
@@ -3726,8 +3726,16 @@
     switch (kind) {
       case DeclarationKind.TopLevel:
         assert(abstractToken == null);
-        listener.endTopLevelFields(externalToken, staticToken, covariantToken,
-            lateToken, varFinalOrConst, fieldCount, beforeStart.next!, token);
+        listener.endTopLevelFields(
+            augmentToken,
+            externalToken,
+            staticToken,
+            covariantToken,
+            lateToken,
+            varFinalOrConst,
+            fieldCount,
+            beforeStart.next!,
+            token);
         break;
       case DeclarationKind.Class:
         listener.endClassFields(
diff --git a/pkg/_js_interop_checks/lib/js_interop_checks.dart b/pkg/_js_interop_checks/lib/js_interop_checks.dart
index 09a20fd..a89ef20 100644
--- a/pkg/_js_interop_checks/lib/js_interop_checks.dart
+++ b/pkg/_js_interop_checks/lib/js_interop_checks.dart
@@ -43,12 +43,11 @@
 import 'package:_js_interop_checks/src/transformations/js_util_optimizer.dart';
 // Used for importing CFE utility functions for constructor tear-offs.
 import 'package:front_end/src/api_prototype/lowering_predicates.dart';
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show
         templateJsInteropExtensionTypeNotInterop,
         templateJsInteropFunctionToJSRequiresStaticType,
         templateJsInteropStaticInteropExternalTypeViolation;
-
 import 'package:kernel/class_hierarchy.dart';
 import 'package:kernel/core_types.dart';
 import 'package:kernel/kernel.dart' hide Pattern;
diff --git a/pkg/_js_interop_checks/lib/src/transformations/shared_interop_transformer.dart b/pkg/_js_interop_checks/lib/src/transformations/shared_interop_transformer.dart
index 83e329a..2a8852e 100644
--- a/pkg/_js_interop_checks/lib/src/transformations/shared_interop_transformer.dart
+++ b/pkg/_js_interop_checks/lib/src/transformations/shared_interop_transformer.dart
@@ -11,7 +11,7 @@
 import 'package:_js_interop_checks/js_interop_checks.dart'
     show JsInteropDiagnosticReporter;
 import 'package:_js_interop_checks/src/js_interop.dart' as js_interop;
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show
         templateJsInteropExportInvalidInteropTypeArgument,
         templateJsInteropExportInvalidTypeArgument,
diff --git a/pkg/_js_interop_checks/lib/src/transformations/static_interop_mock_validator.dart b/pkg/_js_interop_checks/lib/src/transformations/static_interop_mock_validator.dart
index 9410682..2fb9e0b 100644
--- a/pkg/_js_interop_checks/lib/src/transformations/static_interop_mock_validator.dart
+++ b/pkg/_js_interop_checks/lib/src/transformations/static_interop_mock_validator.dart
@@ -11,7 +11,7 @@
 import 'package:_js_interop_checks/js_interop_checks.dart'
     show JsInteropDiagnosticReporter;
 import 'package:_js_interop_checks/src/js_interop.dart' as js_interop;
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show
         templateJsInteropStaticInteropMockNotStaticInteropType,
         templateJsInteropStaticInteropMockTypeParametersNotAllowed;
diff --git a/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml b/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
index 05521a2..f02c0ec 100644
--- a/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
+++ b/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
@@ -1034,6 +1034,8 @@
   status: noFix
 CompileTimeErrorCode.MACRO_DECLARATIONS_PHASE_INTROSPECTION_CYCLE:
   status: needsEvaluation
+CompileTimeErrorCode.MACRO_DEFINITION_APPLICATION_SAME_LIBRARY_CYCLE:
+  status: noFix
 CompileTimeErrorCode.MACRO_APPLICATION_ARGUMENT_ERROR:
   status: noFix
 CompileTimeErrorCode.MACRO_ERROR:
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index 7370037..ee94ca9 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -85,6 +85,7 @@
       : _testingData = testingData,
         _typeSystemOperations = typeSystemOperations {
     _libraryVerificationContext = LibraryVerificationContext(
+      libraryKind: _library,
       constructorFieldsVerifier: ConstructorFieldsVerifier(
         typeSystem: _typeSystem,
       ),
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_graph.dart b/pkg/analyzer/lib/src/dart/analysis/library_graph.dart
index d9232b3..e80e760 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_graph.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_graph.dart
@@ -26,6 +26,9 @@
   /// The libraries that belong to this cycle.
   final List<LibraryFileKind> libraries;
 
+  /// The URIs of [libraries].
+  final Set<Uri> libraryUris;
+
   /// The library cycles that this cycle references directly.
   final Set<LibraryCycle> directDependencies;
 
@@ -89,6 +92,7 @@
 
   LibraryCycle({
     required this.libraries,
+    required this.libraryUris,
     required this.directDependencies,
     required this.apiSignature,
     required this.implSignature,
@@ -212,9 +216,11 @@
 
     // Fill the cycle with libraries.
     var libraries = <LibraryFileKind>[];
+    var libraryUris = <Uri>{};
     for (var node in scc) {
       final file = node.kind.file;
       libraries.add(node.kind);
+      libraryUris.add(file.uri);
 
       apiSignature.addLanguageVersion(file.packageLanguageVersion);
       apiSignature.addString(file.uriStr);
@@ -241,6 +247,7 @@
     // Create the LibraryCycle instance for the cycle.
     var cycle = LibraryCycle(
       libraries: libraries.toFixedList(),
+      libraryUris: libraryUris,
       directDependencies: directDependencies,
       apiSignature: apiSignature.toHex(),
       implSignature: implSignature.toHex(),
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index b4bdb31..70bd1cf 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -17926,6 +17926,10 @@
 /// directives).
 abstract final class TopLevelVariableDeclaration
     implements CompilationUnitMember {
+  /// The 'augment' keyword.
+  @experimental
+  Token? get augmentKeyword;
+
   /// The `external` keyword, or `null` if the keyword was not used.
   Token? get externalKeyword;
 
@@ -17947,6 +17951,9 @@
   VariableDeclarationListImpl _variableList;
 
   @override
+  final Token? augmentKeyword;
+
+  @override
   final Token? externalKeyword;
 
   /// The semicolon terminating the declaration.
@@ -17959,6 +17966,7 @@
   TopLevelVariableDeclarationImpl({
     required super.comment,
     required super.metadata,
+    required this.augmentKeyword,
     required this.externalKeyword,
     required VariableDeclarationListImpl variableList,
     required this.semicolon,
@@ -17974,7 +17982,7 @@
 
   @override
   Token get firstTokenAfterCommentAndMetadata =>
-      externalKeyword ?? _variableList.beginToken;
+      augmentKeyword ?? externalKeyword ?? _variableList.beginToken;
 
   @override
   VariableDeclarationListImpl get variables => _variableList;
@@ -17985,6 +17993,8 @@
 
   @override
   ChildEntities get _childEntities => super._childEntities
+    ..addToken('augmentKeyword', augmentKeyword)
+    ..addToken('externalKeyword', externalKeyword)
     ..addNode('variables', variables)
     ..addToken('semicolon', semicolon);
 
diff --git a/pkg/analyzer/lib/src/error/codes.g.dart b/pkg/analyzer/lib/src/error/codes.g.dart
index a8d3543..ecd5caf 100644
--- a/pkg/analyzer/lib/src/error/codes.g.dart
+++ b/pkg/analyzer/lib/src/error/codes.g.dart
@@ -3055,6 +3055,18 @@
         "Try removing one or more macro applications to break the cycle.",
   );
 
+  ///  Parameters:
+  ///  0: the name of the macro class
+  static const CompileTimeErrorCode
+      MACRO_DEFINITION_APPLICATION_SAME_LIBRARY_CYCLE = CompileTimeErrorCode(
+    'MACRO_DEFINITION_APPLICATION_SAME_LIBRARY_CYCLE',
+    "The macro '{0}' can't be applied in the same library cycle where it is "
+        "defined.",
+    correctionMessage:
+        "Try moving it to a different library that does not import the one "
+        "where it is applied.",
+  );
+
   ///  Reported when the macro uses `Builder.report()` with `Severity.error`.
   ///  Parameters:
   ///  0: the message
diff --git a/pkg/analyzer/lib/src/error/error_code_values.g.dart b/pkg/analyzer/lib/src/error/error_code_values.g.dart
index 6cec47c..8b6b540 100644
--- a/pkg/analyzer/lib/src/error/error_code_values.g.dart
+++ b/pkg/analyzer/lib/src/error/error_code_values.g.dart
@@ -325,6 +325,7 @@
   CompileTimeErrorCode.LIST_ELEMENT_TYPE_NOT_ASSIGNABLE,
   CompileTimeErrorCode.MACRO_APPLICATION_ARGUMENT_ERROR,
   CompileTimeErrorCode.MACRO_DECLARATIONS_PHASE_INTROSPECTION_CYCLE,
+  CompileTimeErrorCode.MACRO_DEFINITION_APPLICATION_SAME_LIBRARY_CYCLE,
   CompileTimeErrorCode.MACRO_ERROR,
   CompileTimeErrorCode.MACRO_INTERNAL_EXCEPTION,
   CompileTimeErrorCode.MAIN_FIRST_POSITIONAL_PARAMETER_TYPE,
diff --git a/pkg/analyzer/lib/src/fasta/ast_builder.dart b/pkg/analyzer/lib/src/fasta/ast_builder.dart
index 329f4dd..c641a2c 100644
--- a/pkg/analyzer/lib/src/fasta/ast_builder.dart
+++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart
@@ -3294,6 +3294,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
@@ -3331,6 +3332,7 @@
       TopLevelVariableDeclarationImpl(
         comment: comment,
         metadata: metadata,
+        augmentKeyword: augmentToken,
         externalKeyword: externalToken,
         variableList: variableList,
         semicolon: semicolon,
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
index d014d6b..dfa2a41 100644
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
@@ -54,6 +54,7 @@
 import 'package:analyzer/src/generated/this_access_tracker.dart';
 import 'package:analyzer/src/summary2/macro_application_error.dart';
 import 'package:analyzer/src/summary2/macro_type_location.dart';
+import 'package:analyzer/src/utilities/extensions/element.dart';
 import 'package:analyzer/src/utilities/extensions/object.dart';
 import 'package:analyzer/src/utilities/extensions/string.dart';
 import 'package:collection/collection.dart';
@@ -6113,10 +6114,12 @@
 /// Information to pass from from the defining unit to augmentations.
 class LibraryVerificationContext {
   final duplicationDefinitionContext = DuplicationDefinitionContext();
+  final LibraryFileKind libraryKind;
   final ConstructorFieldsVerifier constructorFieldsVerifier;
   final Map<FileState, UnitAnalysis> units;
 
   LibraryVerificationContext({
+    required this.libraryKind,
     required this.constructorFieldsVerifier,
     required this.units,
   });
@@ -6148,6 +6151,10 @@
       entity: node,
     );
   }
+
+  bool libraryCycleContains(Uri uri) {
+    return libraryKind.libraryCycle.libraryUris.contains(uri);
+  }
 }
 
 class _MacroDiagnosticsReporter {
@@ -6162,6 +6169,8 @@
   });
 
   void report() {
+    _reportApplicationFromSameLibraryCycle();
+
     for (final diagnostic in element.macroDiagnostics) {
       switch (diagnostic) {
         case ArgumentMacroDiagnostic():
@@ -6182,7 +6191,7 @@
     final target = object.target;
     switch (target) {
       case ApplicationMacroDiagnosticTarget():
-        final node = _annotationNode(element, target.annotationIndex);
+        final node = element.annotationAst(target.annotationIndex);
         return DiagnosticMessageImpl(
           filePath: element.source!.fullName,
           length: node.length,
@@ -6208,8 +6217,30 @@
     }
   }
 
+  void _reportApplicationFromSameLibraryCycle() {
+    for (var annotation in element.metadata) {
+      var element = annotation.element;
+      if (element is! ConstructorElementImpl) continue;
+
+      var macroElement = element.enclosingElement;
+      if (macroElement is! ClassElementImpl) continue;
+      if (!macroElement.isMacro) continue;
+
+      var macroUri = macroElement.library.source.uri;
+      if (!libraryContext.libraryCycleContains(macroUri)) continue;
+
+      errorReporter.atNode(
+        _annotationNameIdentifier(annotation),
+        CompileTimeErrorCode.MACRO_DEFINITION_APPLICATION_SAME_LIBRARY_CYCLE,
+        arguments: [
+          macroElement.name,
+        ],
+      );
+    }
+  }
+
   void _reportArgument(ArgumentMacroDiagnostic diagnostic) {
-    var annotation = _annotationNode(element, diagnostic.annotationIndex);
+    var annotation = element.annotationAst(diagnostic.annotationIndex);
     var arguments = annotation.arguments!.arguments;
     errorReporter.atNode(
       arguments[diagnostic.argumentIndex],
@@ -6231,7 +6262,7 @@
     final target = diagnostic.message.target;
     switch (target) {
       case ApplicationMacroDiagnosticTarget():
-        var node = _annotationNode(element, target.annotationIndex);
+        var node = element.annotationAst(target.annotationIndex);
         errorReporter.reportError(
           AnalysisError.forValues(
             source: element.source!,
@@ -6262,10 +6293,7 @@
         if (location == null) {
           return;
         }
-        var node = _annotationNode(
-          target.element,
-          target.annotationIndex,
-        );
+        var node = target.element.annotationAst(target.annotationIndex);
         location.unitAnalysis.errorReporter.reportError(
           AnalysisError.forValues(
             source: target.element.source!,
@@ -6301,7 +6329,7 @@
 
   void _reportException(ExceptionMacroDiagnostic diagnostic) {
     errorReporter.atNode(
-      _annotationNode(element, diagnostic.annotationIndex),
+      element.annotationAst(diagnostic.annotationIndex),
       CompileTimeErrorCode.MACRO_INTERNAL_EXCEPTION,
       arguments: [
         diagnostic.message,
@@ -6343,7 +6371,7 @@
 
   void _reportInvalidTarget(InvalidMacroTargetDiagnostic diagnostic) {
     errorReporter.atNode(
-      _annotationNode(element, diagnostic.annotationIndex),
+      element.annotationAst(diagnostic.annotationIndex),
       CompileTimeErrorCode.INVALID_MACRO_APPLICATION_TARGET,
       arguments: [
         diagnostic.supportedKinds.commaSeparatedWithOr,
@@ -6351,16 +6379,22 @@
     );
   }
 
-  static AnnotationImpl _annotationNode(ElementImpl element, int index) {
-    var annotation = element.metadata[index];
-    return annotation.annotationAst;
+  static SimpleIdentifier _annotationNameIdentifier(
+    ElementAnnotationImpl annotation,
+  ) {
+    var fullName = annotation.annotationAst.name;
+    if (fullName is PrefixedIdentifierImpl) {
+      return fullName.identifier;
+    } else {
+      return fullName as SimpleIdentifierImpl;
+    }
   }
 
   static SimpleIdentifier _macroAnnotationNameIdentifier({
     required ElementImpl element,
     required int annotationIndex,
   }) {
-    var annotationNode = _annotationNode(element, annotationIndex);
+    var annotationNode = element.annotationAst(annotationIndex);
     var fullName = annotationNode.name;
     if (fullName is PrefixedIdentifierImpl) {
       return fullName.identifier;
diff --git a/pkg/analyzer/lib/src/utilities/extensions/element.dart b/pkg/analyzer/lib/src/utilities/extensions/element.dart
index 21e2dff..228ceb6 100644
--- a/pkg/analyzer/lib/src/utilities/extensions/element.dart
+++ b/pkg/analyzer/lib/src/utilities/extensions/element.dart
@@ -5,6 +5,7 @@
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/nullability_suffix.dart';
 import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/src/dart/ast/ast.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 
 extension ElementExtension on Element {
@@ -27,6 +28,12 @@
   }
 }
 
+extension ElementImplExtension on ElementImpl {
+  AnnotationImpl annotationAst(int index) {
+    return metadata[index].annotationAst;
+  }
+}
+
 extension ListOfTypeParameterElementExtension on List<TypeParameterElement> {
   List<TypeParameterType> instantiateNone() {
     return map((e) {
diff --git a/pkg/analyzer/messages.yaml b/pkg/analyzer/messages.yaml
index 8d7638a..cad16a4 100644
--- a/pkg/analyzer/messages.yaml
+++ b/pkg/analyzer/messages.yaml
@@ -9550,6 +9550,12 @@
     comment: |-
       Parameters:
       0: the name of the introspected declaration
+  MACRO_DEFINITION_APPLICATION_SAME_LIBRARY_CYCLE:
+    problemMessage: "The macro '{0}' can't be applied in the same library cycle where it is defined."
+    correctionMessage: Try moving it to a different library that does not import the one where it is applied.
+    comment: |-
+      Parameters:
+      0: the name of the macro class
   MAIN_FIRST_POSITIONAL_PARAMETER_TYPE:
     problemMessage: "The type of the first positional parameter of the 'main' function must be a supertype of 'List<String>'."
     correctionMessage: Try changing the type of the parameter.
diff --git a/pkg/analyzer/test/generated/parser_fasta_listener.dart b/pkg/analyzer/test/generated/parser_fasta_listener.dart
index 06eb0ed..1a04341 100644
--- a/pkg/analyzer/test/generated/parser_fasta_listener.dart
+++ b/pkg/analyzer/test/generated/parser_fasta_listener.dart
@@ -1266,6 +1266,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
@@ -1275,8 +1276,16 @@
       Token beginToken,
       Token endToken) {
     end('TopLevelMember');
-    super.endTopLevelFields(externalToken, staticToken, covariantToken,
-        lateToken, varFinalOrConst, count, beginToken, endToken);
+    super.endTopLevelFields(
+        augmentToken,
+        externalToken,
+        staticToken,
+        covariantToken,
+        lateToken,
+        varFinalOrConst,
+        count,
+        beginToken,
+        endToken);
   }
 
   @override
diff --git a/pkg/analyzer/test/src/dart/parser/test_all.dart b/pkg/analyzer/test/src/dart/parser/test_all.dart
index 9900767..decd91c 100644
--- a/pkg/analyzer/test/src/dart/parser/test_all.dart
+++ b/pkg/analyzer/test/src/dart/parser/test_all.dart
@@ -8,6 +8,7 @@
 import 'doc_comment_test.dart' as doc_comment;
 import 'extension_type_test.dart' as extension_type;
 import 'mixin_test.dart' as mixin_;
+import 'top_level_variable_test.dart' as top_level_variable;
 
 /// Utility for manually running all tests.
 main() {
@@ -16,5 +17,6 @@
     doc_comment.main();
     extension_type.main();
     mixin_.main();
+    top_level_variable.main();
   }, name: 'parser');
 }
diff --git a/pkg/analyzer/test/src/dart/parser/top_level_variable_test.dart b/pkg/analyzer/test/src/dart/parser/top_level_variable_test.dart
new file mode 100644
index 0000000..2ae2df1
--- /dev/null
+++ b/pkg/analyzer/test/src/dart/parser/top_level_variable_test.dart
@@ -0,0 +1,59 @@
+// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import '../../diagnostics/parser_diagnostics.dart';
+
+main() {
+  defineReflectiveSuite(() {
+    defineReflectiveTests(TopLevelVariableParserTest);
+  });
+}
+
+@reflectiveTest
+class TopLevelVariableParserTest extends ParserDiagnosticsTest {
+  test_augment() {
+    final parseResult = parseStringWithErrors(r'''
+library augment 'a.dart';
+augment final foo = 0;
+''');
+    parseResult.assertNoErrors();
+
+    final node = parseResult.findNode.singleTopLevelVariableDeclaration;
+    assertParsedNodeText(node, r'''
+TopLevelVariableDeclaration
+  augmentKeyword: augment
+  variables: VariableDeclarationList
+    keyword: final
+    variables
+      VariableDeclaration
+        name: foo
+        equals: =
+        initializer: IntegerLiteral
+          literal: 0
+  semicolon: ;
+''');
+  }
+
+  test_external() {
+    final parseResult = parseStringWithErrors(r'''
+external int foo;
+''');
+    parseResult.assertNoErrors();
+
+    final node = parseResult.findNode.singleTopLevelVariableDeclaration;
+    assertParsedNodeText(node, r'''
+TopLevelVariableDeclaration
+  externalKeyword: external
+  variables: VariableDeclarationList
+    type: NamedType
+      name: int
+    variables
+      VariableDeclaration
+        name: foo
+  semicolon: ;
+''');
+  }
+}
diff --git a/pkg/analyzer/test/src/dart/resolution/macro_test.dart b/pkg/analyzer/test/src/dart/resolution/macro_test.dart
index 7148e93..d1e9ac4 100644
--- a/pkg/analyzer/test/src/dart/resolution/macro_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/macro_test.dart
@@ -248,6 +248,53 @@
     ]);
   }
 
+  test_diagnostic_definitionApplication_sameLibrary() async {
+    await assertErrorsInCode('''
+import 'package:_fe_analyzer_shared/src/macros/api.dart';
+
+macro class MyMacro implements ClassDefinitionMacro {
+  const MyMacro();
+
+  @override
+  buildDefinitionForClass(declaration, builder) async {}
+}
+
+@MyMacro()
+class A {}
+''', [
+      error(
+          CompileTimeErrorCode.MACRO_DEFINITION_APPLICATION_SAME_LIBRARY_CYCLE,
+          206,
+          7),
+    ]);
+  }
+
+  test_diagnostic_definitionApplication_sameLibraryCycle() async {
+    newFile('$testPackageLibPath/a.dart', r'''
+import 'package:_fe_analyzer_shared/src/macros/api.dart';
+import 'test.dart';
+
+macro class MyMacro implements ClassDefinitionMacro {
+  const MyMacro();
+
+  @override
+  buildDefinitionForClass(declaration, builder) async {}
+}
+''');
+
+    await assertErrorsInCode('''
+import 'a.dart';
+
+@MyMacro()
+class A {}
+''', [
+      error(
+          CompileTimeErrorCode.MACRO_DEFINITION_APPLICATION_SAME_LIBRARY_CYCLE,
+          19,
+          7),
+    ]);
+  }
+
   test_diagnostic_invalidTarget_wantsClassOrMixin_hasFunction() async {
     await assertErrorsInCode('''
 import 'diagnostic.dart';
diff --git a/pkg/analyzer/tool/summary/mini_ast.dart b/pkg/analyzer/tool/summary/mini_ast.dart
index e1bc709..ad18e23 100644
--- a/pkg/analyzer/tool/summary/mini_ast.dart
+++ b/pkg/analyzer/tool/summary/mini_ast.dart
@@ -377,6 +377,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
diff --git a/pkg/front_end/lib/src/api_unstable/vm.dart b/pkg/front_end/lib/src/api_unstable/vm.dart
index ddef964..c613142 100644
--- a/pkg/front_end/lib/src/api_unstable/vm.dart
+++ b/pkg/front_end/lib/src/api_unstable/vm.dart
@@ -4,8 +4,10 @@
 
 export 'package:_fe_analyzer_shared/src/messages/diagnostic_message.dart'
     show DiagnosticMessage, DiagnosticMessageHandler, getMessageUri;
-
 export 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
+export 'package:_fe_analyzer_shared/src/util/options.dart';
+export 'package:_fe_analyzer_shared/src/util/resolve_input_uri.dart'
+    show resolveInputUri;
 
 export '../api_prototype/compiler_options.dart'
     show
@@ -14,48 +16,32 @@
         Verbosity,
         parseExperimentalArguments,
         parseExperimentalFlags;
-
 export '../api_prototype/experimental_flags.dart'
     show defaultExperimentalFlags, ExperimentalFlag;
-
 export '../api_prototype/expression_compilation_tools.dart'
     show createDefinitionsWithTypes, createTypeParametersWithBounds;
-
 export '../api_prototype/file_system.dart'
     show FileSystem, FileSystemEntity, FileSystemException;
-
 export '../api_prototype/front_end.dart' show CompilerResult;
-
 export '../api_prototype/incremental_kernel_generator.dart'
     show
         IncrementalCompilerResult,
         IncrementalKernelGenerator,
         IncrementalSerializer,
         isLegalIdentifier;
-
 export '../api_prototype/kernel_generator.dart'
     show kernelForModule, kernelForProgram;
-
 export '../api_prototype/lowering_predicates.dart'
     show isExtensionThisName, isExtensionTypeThis;
-
 export '../api_prototype/memory_file_system.dart' show MemoryFileSystem;
-
 export '../api_prototype/standard_file_system.dart' show StandardFileSystem;
-
 export '../api_prototype/terminal_color_support.dart'
     show printDiagnosticMessage, enableColors;
-
 export '../base/nnbd_mode.dart' show NnbdMode;
-
 export '../base/processed_options.dart' show ProcessedOptions;
-
 export '../compute_platform_binaries_location.dart'
     show computePlatformBinariesLocation;
-
-export '../fasta/compiler_context.dart' show CompilerContext;
-
-export '../fasta/fasta_codes.dart'
+export '../fasta/codes/fasta_codes.dart'
     show
         LocatedMessage,
         messageFfiAbiSpecificIntegerInvalid,
@@ -106,16 +92,10 @@
         templateFfiStructGeneric,
         templateFfiTypeInvalid,
         templateFfiTypeMismatch;
-
+export '../fasta/compiler_context.dart' show CompilerContext;
 export '../fasta/hybrid_file_system.dart' show HybridFileSystem;
-
 export '../fasta/kernel/utils.dart'
     show
         createExpressionEvaluationComponent,
         serializeComponent,
         serializeProcedure;
-
-export 'package:_fe_analyzer_shared/src/util/options.dart';
-
-export 'package:_fe_analyzer_shared/src/util/resolve_input_uri.dart'
-    show resolveInputUri;
diff --git a/pkg/front_end/lib/src/base/processed_options.dart b/pkg/front_end/lib/src/base/processed_options.dart
index 92aa6c5..cd6075f 100644
--- a/pkg/front_end/lib/src/base/processed_options.dart
+++ b/pkg/front_end/lib/src/base/processed_options.dart
@@ -42,9 +42,7 @@
     show FileSystem, FileSystemEntity, FileSystemException;
 import '../api_prototype/terminal_color_support.dart'
     show printDiagnosticMessage;
-import '../fasta/command_line_reporting.dart' as command_line_reporting;
-import '../fasta/compiler_context.dart' show CompilerContext;
-import '../fasta/fasta_codes.dart'
+import '../fasta/codes/fasta_codes.dart'
     show
         FormattedMessage,
         LocatedMessage,
@@ -66,6 +64,8 @@
         templateSdkRootNotFound,
         templateSdkSpecificationNotFound,
         templateSdkSummaryNotFound;
+import '../fasta/command_line_reporting.dart' as command_line_reporting;
+import '../fasta/compiler_context.dart' show CompilerContext;
 import '../fasta/messages.dart' show getLocation;
 import '../fasta/problems.dart' show DebugAbort, unimplemented;
 import '../fasta/ticker.dart' show Ticker;
diff --git a/pkg/front_end/lib/src/fasta/builder/declaration_builders.dart b/pkg/front_end/lib/src/fasta/builder/declaration_builders.dart
index c1327f1..dc0bd7d2 100644
--- a/pkg/front_end/lib/src/fasta/builder/declaration_builders.dart
+++ b/pkg/front_end/lib/src/fasta/builder/declaration_builders.dart
@@ -6,7 +6,7 @@
 import 'package:kernel/class_hierarchy.dart';
 import 'package:kernel/src/unaliasing.dart';
 
-import '../fasta_codes.dart';
+import '../codes/fasta_codes.dart';
 import '../kernel/body_builder_context.dart';
 import '../loader.dart';
 import '../messages.dart';
diff --git a/pkg/front_end/lib/src/fasta/builder/function_type_builder.dart b/pkg/front_end/lib/src/fasta/builder/function_type_builder.dart
index d74579e..58ef677 100644
--- a/pkg/front_end/lib/src/fasta/builder/function_type_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/function_type_builder.dart
@@ -9,7 +9,7 @@
 import 'package:kernel/class_hierarchy.dart';
 import 'package:kernel/src/unaliasing.dart';
 
-import '../fasta_codes.dart' show messageSupertypeIsFunction, noLength;
+import '../codes/fasta_codes.dart' show messageSupertypeIsFunction, noLength;
 import '../kernel/implicit_field_type.dart';
 import '../source/source_library_builder.dart';
 import 'declaration_builders.dart';
diff --git a/pkg/front_end/lib/src/fasta/builder/named_type_builder.dart b/pkg/front_end/lib/src/fasta/builder/named_type_builder.dart
index efdbd3d..9d45373 100644
--- a/pkg/front_end/lib/src/fasta/builder/named_type_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/named_type_builder.dart
@@ -10,7 +10,7 @@
 import 'package:kernel/src/legacy_erasure.dart';
 import 'package:kernel/src/unaliasing.dart' as unaliasing;
 
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show
         LocatedMessage,
         Message,
diff --git a/pkg/front_end/lib/src/fasta/builder/prefix_builder.dart b/pkg/front_end/lib/src/fasta/builder/prefix_builder.dart
index f260049..3bc376b 100644
--- a/pkg/front_end/lib/src/fasta/builder/prefix_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/prefix_builder.dart
@@ -6,13 +6,10 @@
 
 import 'package:kernel/ast.dart' show LibraryDependency;
 
+import '../codes/fasta_codes.dart';
 import '../kernel/load_library_builder.dart' show LoadLibraryBuilder;
-
-import '../fasta_codes.dart';
-
 import '../scope.dart';
 import '../source/source_library_builder.dart';
-
 import 'builder.dart';
 import 'declaration_builders.dart';
 
diff --git a/pkg/front_end/lib/src/fasta/builder/record_type_builder.dart b/pkg/front_end/lib/src/fasta/builder/record_type_builder.dart
index 81dff20..f549fc9 100644
--- a/pkg/front_end/lib/src/fasta/builder/record_type_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/record_type_builder.dart
@@ -7,7 +7,7 @@
 import 'package:kernel/class_hierarchy.dart';
 import 'package:kernel/src/unaliasing.dart';
 
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show
         messageNamedFieldClashesWithPositionalFieldInRecord,
         messageObjectMemberNameUsedForRecordField,
diff --git a/pkg/front_end/lib/src/fasta/denylisted_classes.dart b/pkg/front_end/lib/src/fasta/codes/denylisted_classes.dart
similarity index 100%
rename from pkg/front_end/lib/src/fasta/denylisted_classes.dart
rename to pkg/front_end/lib/src/fasta/codes/denylisted_classes.dart
diff --git a/pkg/front_end/lib/src/fasta/fasta_codes.dart b/pkg/front_end/lib/src/fasta/codes/fasta_codes.dart
similarity index 94%
rename from pkg/front_end/lib/src/fasta/fasta_codes.dart
rename to pkg/front_end/lib/src/fasta/codes/fasta_codes.dart
index 50f79c1..6fa9f50 100644
--- a/pkg/front_end/lib/src/fasta/fasta_codes.dart
+++ b/pkg/front_end/lib/src/fasta/codes/fasta_codes.dart
@@ -6,17 +6,14 @@
 
 import 'package:_fe_analyzer_shared/src/messages/codes.dart'
     hide demangleMixinApplicationName;
-
 import 'package:_fe_analyzer_shared/src/messages/severity.dart';
-
 import 'package:kernel/ast.dart'
     show Constant, DartType, demangleMixinApplicationName;
 
-import 'kernel/type_labeler.dart';
+import 'type_labeler.dart';
 
 export 'package:_fe_analyzer_shared/src/messages/codes.dart'
     hide demangleMixinApplicationName;
-
 export 'package:_fe_analyzer_shared/src/messages/severity.dart';
 
 part 'fasta_codes_cfe_generated.dart';
diff --git a/pkg/front_end/lib/src/fasta/fasta_codes_cfe_generated.dart b/pkg/front_end/lib/src/fasta/codes/fasta_codes_cfe_generated.dart
similarity index 100%
rename from pkg/front_end/lib/src/fasta/fasta_codes_cfe_generated.dart
rename to pkg/front_end/lib/src/fasta/codes/fasta_codes_cfe_generated.dart
diff --git a/pkg/front_end/lib/src/fasta/kernel/type_labeler.dart b/pkg/front_end/lib/src/fasta/codes/type_labeler.dart
similarity index 99%
rename from pkg/front_end/lib/src/fasta/kernel/type_labeler.dart
rename to pkg/front_end/lib/src/fasta/codes/type_labeler.dart
index d6b66eb..85fcc99 100644
--- a/pkg/front_end/lib/src/fasta/kernel/type_labeler.dart
+++ b/pkg/front_end/lib/src/fasta/codes/type_labeler.dart
@@ -6,8 +6,8 @@
 
 import 'package:kernel/ast.dart';
 
-import '../denylisted_classes.dart' show denylistedCoreClasses;
-import '../fasta_codes.dart'
+import 'denylisted_classes.dart' show denylistedCoreClasses;
+import 'fasta_codes.dart'
     show Message, templateTypeOrigin, templateTypeOriginWithFileUri;
 
 /// A pretty-printer for Kernel types and constants with the ability to label
diff --git a/pkg/front_end/lib/src/fasta/command_line_reporting.dart b/pkg/front_end/lib/src/fasta/command_line_reporting.dart
index d3bf0bf..0e85543 100644
--- a/pkg/front_end/lib/src/fasta/command_line_reporting.dart
+++ b/pkg/front_end/lib/src/fasta/command_line_reporting.dart
@@ -9,33 +9,23 @@
 library fasta.command_line_reporting;
 
 import 'dart:math' show min;
-
 import 'dart:typed_data' show Uint8List;
 
 import 'package:_fe_analyzer_shared/src/messages/severity.dart'
     show Severity, severityPrefixes;
-
 import 'package:_fe_analyzer_shared/src/scanner/characters.dart'
     show $CARET, $SPACE, $TAB;
-
 import 'package:_fe_analyzer_shared/src/util/colors.dart'
     show green, magenta, red, yellow;
-
 import 'package:_fe_analyzer_shared/src/util/relativize.dart'
     show isWindows, relativizeUri;
-
 import 'package:kernel/ast.dart' show Location, Source, TreeNode;
 
 import '../compute_platform_binaries_location.dart' show translateSdk;
-
+import 'codes/fasta_codes.dart' show LocatedMessage, PlainAndColorizedString;
 import 'compiler_context.dart' show CompilerContext;
-
 import 'crash.dart' show Crash, safeToString;
-
-import 'fasta_codes.dart' show LocatedMessage, PlainAndColorizedString;
-
 import 'messages.dart' show getLocation, getSourceLine;
-
 import 'problems.dart' show unhandled;
 
 const bool hideWarnings = false;
diff --git a/pkg/front_end/lib/src/fasta/dill/dill_library_builder.dart b/pkg/front_end/lib/src/fasta/dill/dill_library_builder.dart
index c5faa53..aedc80d 100644
--- a/pkg/front_end/lib/src/fasta/dill/dill_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/dill/dill_library_builder.dart
@@ -16,7 +16,7 @@
 import '../builder/modifier_builder.dart';
 import '../builder/name_iterator.dart';
 import '../builder/never_type_declaration_builder.dart';
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show Message, noLength, templateDuplicatedDeclaration, templateUnspecified;
 import '../kernel/constructor_tearoff_lowering.dart';
 import '../kernel/utils.dart';
diff --git a/pkg/front_end/lib/src/fasta/dill/dill_loader.dart b/pkg/front_end/lib/src/fasta/dill/dill_loader.dart
index 0fe96bd..9049aba 100644
--- a/pkg/front_end/lib/src/fasta/dill/dill_loader.dart
+++ b/pkg/front_end/lib/src/fasta/dill/dill_loader.dart
@@ -4,24 +4,20 @@
 
 library fasta.dill_loader;
 
-import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
+import 'dart:collection' show Queue;
 
+import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
 import 'package:kernel/ast.dart'
     show Class, Component, DartType, ExtensionTypeDeclaration, Library;
 
 import '../builder/declaration_builders.dart';
 import '../builder/library_builder.dart';
 import '../builder/type_builder.dart';
-
-import '../crash.dart' show firstSourceUri;
-
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show SummaryTemplate, Template, templateDillOutlineSummary;
-
+import '../crash.dart' show firstSourceUri;
 import '../kernel/type_builder_computer.dart' show TypeBuilderComputer;
-
 import '../loader.dart';
-
 import '../messages.dart'
     show
         FormattedMessage,
@@ -32,21 +28,13 @@
         Template,
         messagePlatformPrivateLibraryAccess,
         templateInternalProblemContextSeverity;
-
 import '../problems.dart' show internalProblem;
-
 import '../source/source_loader.dart' show SourceLoader;
-
 import '../ticker.dart' show Ticker;
-
 import '../uris.dart';
-
 import 'dill_library_builder.dart' show DillLibraryBuilder;
-
 import 'dill_target.dart' show DillTarget;
 
-import 'dart:collection' show Queue;
-
 class DillLoader extends Loader {
   SourceLoader? currentSourceLoader;
 
diff --git a/pkg/front_end/lib/src/fasta/export.dart b/pkg/front_end/lib/src/fasta/export.dart
index 323a5f7..5f038f7 100644
--- a/pkg/front_end/lib/src/fasta/export.dart
+++ b/pkg/front_end/lib/src/fasta/export.dart
@@ -6,9 +6,8 @@
 
 import 'builder/builder.dart';
 import 'builder/library_builder.dart';
-
+import 'codes/fasta_codes.dart';
 import 'combinator.dart' show CombinatorBuilder;
-import 'fasta_codes.dart';
 
 class Export {
   /// The library that is exporting [exported];
diff --git a/pkg/front_end/lib/src/fasta/ignored_parser_errors.dart b/pkg/front_end/lib/src/fasta/ignored_parser_errors.dart
index a711e7f..e3e0683 100644
--- a/pkg/front_end/lib/src/fasta/ignored_parser_errors.dart
+++ b/pkg/front_end/lib/src/fasta/ignored_parser_errors.dart
@@ -5,10 +5,9 @@
 library fasta.ignored_parser_errors;
 
 import 'package:_fe_analyzer_shared/src/parser/parser.dart' show optional;
-
 import 'package:_fe_analyzer_shared/src/scanner/scanner.dart' show Token;
 
-import 'fasta_codes.dart' show Code, codeNonPartOfDirectiveInPart;
+import 'codes/fasta_codes.dart' show Code, codeNonPartOfDirectiveInPart;
 
 bool isIgnoredParserError(Code<dynamic> code, Token token) {
   if (code == codeNonPartOfDirectiveInPart) {
diff --git a/pkg/front_end/lib/src/fasta/incremental_compiler.dart b/pkg/front_end/lib/src/fasta/incremental_compiler.dart
index 7ed2906..8159fd3 100644
--- a/pkg/front_end/lib/src/fasta/incremental_compiler.dart
+++ b/pkg/front_end/lib/src/fasta/incremental_compiler.dart
@@ -85,6 +85,7 @@
 import 'builder/name_iterator.dart' show NameIterator;
 import 'builder/type_builder.dart' show NamedTypeBuilder, TypeBuilder;
 import 'builder_graph.dart' show BuilderGraph;
+import 'codes/fasta_codes.dart';
 import 'combinator.dart' show CombinatorBuilder;
 import 'compiler_context.dart' show CompilerContext;
 import 'dill/dill_class_builder.dart' show DillClassBuilder;
@@ -92,7 +93,6 @@
 import 'dill/dill_loader.dart' show DillLoader;
 import 'dill/dill_target.dart' show DillTarget;
 import 'export.dart' show Export;
-import 'fasta_codes.dart';
 import 'hybrid_file_system.dart' show HybridFileSystem;
 import 'import.dart' show Import;
 import 'incremental_serializer.dart' show IncrementalSerializer;
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 5ce0136..aea4b5d 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -59,10 +59,7 @@
 import '../builder/type_builder.dart';
 import '../builder/variable_builder.dart';
 import '../builder/void_type_declaration_builder.dart';
-import '../constant_context.dart' show ConstantContext;
-import '../dill/dill_library_builder.dart' show DillLibraryBuilder;
-import '../fasta_codes.dart' as fasta;
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show
         LocatedMessage,
         Message,
@@ -74,6 +71,9 @@
         templateExperimentNotEnabledOffByDefault,
         templateLocalVariableUsedBeforeDeclared,
         templateLocalVariableUsedBeforeDeclaredContext;
+import '../codes/fasta_codes.dart' as fasta;
+import '../constant_context.dart' show ConstantContext;
+import '../dill/dill_library_builder.dart' show DillLibraryBuilder;
 import '../identifiers.dart'
     show
         Identifier,
@@ -898,6 +898,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
diff --git a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
index a483853..0b14013 100644
--- a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
@@ -20,6 +20,9 @@
 
 import 'dart:io' as io;
 
+import 'package:_fe_analyzer_shared/src/exhaustiveness/exhaustive.dart';
+import 'package:_fe_analyzer_shared/src/exhaustiveness/space.dart';
+import 'package:_fe_analyzer_shared/src/exhaustiveness/static_type.dart';
 import 'package:kernel/ast.dart';
 import 'package:kernel/class_hierarchy.dart';
 import 'package:kernel/core_types.dart';
@@ -29,25 +32,21 @@
 import 'package:kernel/src/norm.dart';
 import 'package:kernel/src/printer.dart'
     show AstPrinter, AstTextStrategy, defaultAstTextStrategy;
+import 'package:kernel/target/targets.dart';
 import 'package:kernel/type_algebra.dart';
 import 'package:kernel/type_environment.dart';
-import 'package:kernel/target/targets.dart';
-import 'package:_fe_analyzer_shared/src/exhaustiveness/space.dart';
-import 'package:_fe_analyzer_shared/src/exhaustiveness/exhaustive.dart';
-import 'package:_fe_analyzer_shared/src/exhaustiveness/static_type.dart';
 
 import '../../api_prototype/lowering_predicates.dart';
 import '../../base/nnbd_mode.dart';
-import '../fasta_codes.dart';
-
+import '../codes/fasta_codes.dart';
 import '../type_inference/delayed_expressions.dart';
 import '../type_inference/external_ast_helper.dart';
 import '../type_inference/matching_cache.dart';
 import '../type_inference/matching_expressions.dart';
 import 'constant_int_folder.dart';
 import 'exhaustiveness.dart';
-import 'static_weak_references.dart' show StaticWeakReferences;
 import 'resource_identifier.dart' as ResourceIdentifiers;
+import 'static_weak_references.dart' show StaticWeakReferences;
 
 part 'constant_collection_builders.dart';
 
diff --git a/pkg/front_end/lib/src/fasta/kernel/constant_int_folder.dart b/pkg/front_end/lib/src/fasta/kernel/constant_int_folder.dart
index ae3837c..b7c881a 100644
--- a/pkg/front_end/lib/src/fasta/kernel/constant_int_folder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/constant_int_folder.dart
@@ -5,10 +5,9 @@
 import 'package:kernel/ast.dart';
 import 'package:kernel/target/targets.dart';
 
+import '../codes/fasta_codes.dart';
 import 'constant_evaluator.dart';
 
-import '../fasta_codes.dart';
-
 abstract class ConstantIntFolder {
   final ConstantEvaluator evaluator;
 
diff --git a/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart b/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart
index 73e5204..e9ea2fd 100644
--- a/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart
@@ -41,8 +41,8 @@
 import '../builder/omitted_type_builder.dart';
 import '../builder/prefix_builder.dart';
 import '../builder/type_builder.dart';
+import '../codes/fasta_codes.dart';
 import '../constant_context.dart' show ConstantContext;
-import '../fasta_codes.dart';
 import '../problems.dart';
 import '../scope.dart';
 import '../source/source_member_builder.dart';
diff --git a/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart b/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart
index f50bb66..59e60a5 100644
--- a/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart
@@ -16,8 +16,8 @@
 import '../builder/named_type_builder.dart';
 import '../builder/prefix_builder.dart';
 import '../builder/type_builder.dart';
+import '../codes/fasta_codes.dart' show LocatedMessage;
 import '../constant_context.dart' show ConstantContext;
-import '../fasta_codes.dart' show LocatedMessage;
 import '../messages.dart' show Message;
 import '../scope.dart';
 import '../source/source_library_builder.dart' show SourceLibraryBuilder;
diff --git a/pkg/front_end/lib/src/fasta/kernel/hierarchy/hierarchy_node.dart b/pkg/front_end/lib/src/fasta/kernel/hierarchy/hierarchy_node.dart
index 17bf80e..92a02ac 100644
--- a/pkg/front_end/lib/src/fasta/kernel/hierarchy/hierarchy_node.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/hierarchy/hierarchy_node.dart
@@ -16,7 +16,7 @@
 import '../../builder/library_builder.dart';
 import '../../builder/named_type_builder.dart';
 import '../../builder/type_builder.dart';
-import '../../fasta_codes.dart';
+import '../../codes/fasta_codes.dart';
 import '../../source/source_library_builder.dart';
 import '../../type_inference/type_schema.dart' show UnknownType;
 import 'hierarchy_builder.dart';
diff --git a/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart b/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart
index 4988da1..2f2810c 100644
--- a/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart
@@ -11,11 +11,11 @@
 import 'package:kernel/src/assumptions.dart';
 import 'package:kernel/src/printer.dart';
 
-import '../builder/inferable_type_builder.dart';
-import '../constant_context.dart';
-import '../fasta_codes.dart';
-import '../problems.dart' show unsupported;
 import '../builder/builder.dart';
+import '../builder/inferable_type_builder.dart';
+import '../codes/fasta_codes.dart';
+import '../constant_context.dart';
+import '../problems.dart' show unsupported;
 import '../source/source_field_builder.dart';
 import '../type_inference/type_inferrer.dart';
 import 'body_builder.dart';
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_constants.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_constants.dart
index af210a0..5ce314c 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_constants.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_constants.dart
@@ -5,11 +5,8 @@
 library fasta.kernel_constants;
 
 import '../builder/library_builder.dart';
-
-import '../fasta_codes.dart' show LocatedMessage;
-
+import '../codes/fasta_codes.dart' show LocatedMessage;
 import '../source/source_loader.dart' show SourceLoader;
-
 import 'constant_evaluator.dart' show ErrorReporter;
 
 class KernelConstantErrorReporter extends ErrorReporter {
diff --git a/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart b/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart
index cd487c9..203c033 100644
--- a/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart
@@ -1566,6 +1566,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
diff --git a/pkg/front_end/lib/src/fasta/kernel/macro/macro.dart b/pkg/front_end/lib/src/fasta/kernel/macro/macro.dart
index 28c82d2..caeb186 100644
--- a/pkg/front_end/lib/src/fasta/kernel/macro/macro.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/macro/macro.dart
@@ -17,7 +17,7 @@
 import '../../builder/member_builder.dart';
 import '../../builder/prefix_builder.dart';
 import '../../builder/type_builder.dart';
-import '../../fasta_codes.dart';
+import '../../codes/fasta_codes.dart';
 import '../../source/source_class_builder.dart';
 import '../../source/source_constructor_builder.dart';
 import '../../source/source_extension_builder.dart';
diff --git a/pkg/front_end/lib/src/fasta/kernel/static_weak_references.dart b/pkg/front_end/lib/src/fasta/kernel/static_weak_references.dart
index 36babb0..e1f9b6f 100644
--- a/pkg/front_end/lib/src/fasta/kernel/static_weak_references.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/static_weak_references.dart
@@ -7,7 +7,7 @@
 import 'package:kernel/ast.dart';
 import 'package:kernel/core_types.dart' show CoreTypes;
 
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show
         messageWeakReferenceNotStatic,
         messageWeakReferenceNotOneArgument,
@@ -15,7 +15,6 @@
         messageWeakReferenceMismatchReturnAndArgumentTypes,
         messageWeakReferenceTargetNotStaticTearoff,
         messageWeakReferenceTargetHasParameters;
-
 import 'constant_evaluator.dart' show ErrorReporter;
 
 /// Recognizes and validates static weak references.
diff --git a/pkg/front_end/lib/src/fasta/kernel/try_constant_evaluator.dart b/pkg/front_end/lib/src/fasta/kernel/try_constant_evaluator.dart
index cf75612..b28442c 100644
--- a/pkg/front_end/lib/src/fasta/kernel/try_constant_evaluator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/try_constant_evaluator.dart
@@ -6,7 +6,7 @@
 import 'package:kernel/target/targets.dart';
 import 'package:kernel/type_environment.dart';
 
-import '../fasta_codes.dart';
+import '../codes/fasta_codes.dart';
 import 'constant_evaluator.dart';
 
 typedef ReportErrorFunction = void Function(
diff --git a/pkg/front_end/lib/src/fasta/kernel/type_algorithms.dart b/pkg/front_end/lib/src/fasta/kernel/type_algorithms.dart
index 2f5c851..14d6316 100644
--- a/pkg/front_end/lib/src/fasta/kernel/type_algorithms.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/type_algorithms.dart
@@ -3,11 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'package:kernel/ast.dart';
-
 import 'package:kernel/src/find_type_visitor.dart';
-
 import 'package:kernel/type_algebra.dart' show containsTypeVariable;
-
 import 'package:kernel/util/graph.dart' show Graph, computeStrongComponents;
 
 import '../builder/declaration_builders.dart';
@@ -18,12 +15,7 @@
 import '../builder/nullability_builder.dart';
 import '../builder/record_type_builder.dart';
 import '../builder/type_builder.dart';
-
-import '../dill/dill_class_builder.dart' show DillClassBuilder;
-
-import '../dill/dill_type_alias_builder.dart' show DillTypeAliasBuilder;
-
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show
         LocatedMessage,
         Message,
@@ -32,9 +24,9 @@
         templateBoundIssueViaRawTypeWithNonSimpleBounds,
         templateNonSimpleBoundViaReference,
         templateNonSimpleBoundViaVariable;
-
+import '../dill/dill_class_builder.dart' show DillClassBuilder;
+import '../dill/dill_type_alias_builder.dart' show DillTypeAliasBuilder;
 import '../kernel/utils.dart';
-
 import '../problems.dart';
 import '../source/source_class_builder.dart';
 import '../source/source_extension_builder.dart';
diff --git a/pkg/front_end/lib/src/fasta/kernel/verifier.dart b/pkg/front_end/lib/src/fasta/kernel/verifier.dart
index 0231cf8..5fe64465 100644
--- a/pkg/front_end/lib/src/fasta/kernel/verifier.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/verifier.dart
@@ -5,23 +5,19 @@
 library fasta.verifier;
 
 import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
-
 import 'package:kernel/ast.dart';
 import 'package:kernel/target/targets.dart';
-
 import 'package:kernel/type_environment.dart' show TypeEnvironment;
-
 import 'package:kernel/verifier.dart';
 
-import '../compiler_context.dart' show CompilerContext;
-
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show
         LocatedMessage,
         Message,
         messageVerificationErrorOriginContext,
         noLength,
         templateInternalProblemVerificationError;
+import '../compiler_context.dart' show CompilerContext;
 
 List<LocatedMessage> verifyComponent(
     Target target, VerificationStage stage, Component component,
diff --git a/pkg/front_end/lib/src/fasta/messages.dart b/pkg/front_end/lib/src/fasta/messages.dart
index c348215..3dd35b7 100644
--- a/pkg/front_end/lib/src/fasta/messages.dart
+++ b/pkg/front_end/lib/src/fasta/messages.dart
@@ -9,7 +9,7 @@
 
 import 'compiler_context.dart' show CompilerContext;
 
-export 'fasta_codes.dart';
+export 'codes/fasta_codes.dart';
 
 bool get isVerbose => CompilerContext.current.options.verbose;
 
diff --git a/pkg/front_end/lib/src/fasta/scope.dart b/pkg/front_end/lib/src/fasta/scope.dart
index 4d78369..7028f4f 100644
--- a/pkg/front_end/lib/src/fasta/scope.dart
+++ b/pkg/front_end/lib/src/fasta/scope.dart
@@ -14,7 +14,7 @@
 import 'builder/member_builder.dart';
 import 'builder/metadata_builder.dart';
 import 'builder/name_iterator.dart';
-import 'fasta_codes.dart';
+import 'codes/fasta_codes.dart';
 import 'kernel/body_builder.dart' show JumpTarget;
 import 'kernel/body_builder_context.dart';
 import 'kernel/hierarchy/class_member.dart' show ClassMember;
diff --git a/pkg/front_end/lib/src/fasta/source/class_declaration.dart b/pkg/front_end/lib/src/fasta/source/class_declaration.dart
index 22719f4..34aedc8 100644
--- a/pkg/front_end/lib/src/fasta/source/class_declaration.dart
+++ b/pkg/front_end/lib/src/fasta/source/class_declaration.dart
@@ -11,8 +11,8 @@
 import '../builder/member_builder.dart';
 import '../builder/name_iterator.dart';
 import '../builder/type_builder.dart';
+import '../codes/fasta_codes.dart';
 import '../dill/dill_member_builder.dart';
-import '../fasta_codes.dart';
 import '../problems.dart';
 import '../scope.dart';
 import '../type_inference/type_schema.dart';
diff --git a/pkg/front_end/lib/src/fasta/source/diet_listener.dart b/pkg/front_end/lib/src/fasta/source/diet_listener.dart
index ac13810..79d6e30 100644
--- a/pkg/front_end/lib/src/fasta/source/diet_listener.dart
+++ b/pkg/front_end/lib/src/fasta/source/diet_listener.dart
@@ -25,15 +25,15 @@
 import '../builder/builder.dart';
 import '../builder/declaration_builders.dart';
 import '../builder/modifier_builder.dart';
-import '../constant_context.dart' show ConstantContext;
-import '../crash.dart' show Crash;
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show
         Code,
         LocatedMessage,
         Message,
         messageExpectedBlockToSkip,
         templateInternalProblemNotFound;
+import '../constant_context.dart' show ConstantContext;
+import '../crash.dart' show Crash;
 import '../identifiers.dart'
     show Identifier, OperatorIdentifier, QualifiedName, SimpleIdentifier;
 import '../ignored_parser_errors.dart' show isIgnoredParserError;
@@ -367,6 +367,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
diff --git a/pkg/front_end/lib/src/fasta/source/directive_listener.dart b/pkg/front_end/lib/src/fasta/source/directive_listener.dart
index 8e7fb53..7d9cd6c 100644
--- a/pkg/front_end/lib/src/fasta/source/directive_listener.dart
+++ b/pkg/front_end/lib/src/fasta/source/directive_listener.dart
@@ -6,11 +6,12 @@
 /// import, part, and export directives.
 library front_end.src.fasta.source.directive_listener;
 
-import 'package:_fe_analyzer_shared/src/scanner/token.dart' show Token;
 import 'package:_fe_analyzer_shared/src/parser/identifier_context.dart';
 import 'package:_fe_analyzer_shared/src/parser/listener.dart';
 import 'package:_fe_analyzer_shared/src/parser/quote.dart';
-import '../fasta_codes.dart' show messageExpectedBlockToSkip;
+import 'package:_fe_analyzer_shared/src/scanner/token.dart' show Token;
+
+import '../codes/fasta_codes.dart' show messageExpectedBlockToSkip;
 
 /// Listener that records imports, exports, and part directives.
 ///
diff --git a/pkg/front_end/lib/src/fasta/source/outline_builder.dart b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
index 4c40769..f0e6d36 100644
--- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
@@ -44,9 +44,9 @@
 import '../builder/omitted_type_builder.dart';
 import '../builder/record_type_builder.dart';
 import '../builder/type_builder.dart';
+import '../codes/fasta_codes.dart';
 import '../combinator.dart' show CombinatorBuilder;
 import '../configuration.dart' show Configuration;
-import '../fasta_codes.dart';
 import '../identifiers.dart'
     show Identifier, OperatorIdentifier, SimpleIdentifier, flattenName;
 import '../ignored_parser_errors.dart' show isIgnoredParserError;
@@ -3437,6 +3437,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
diff --git a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
index 74dfefc..ed866f0 100644
--- a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
@@ -23,8 +23,8 @@
 import 'package:kernel/type_environment.dart';
 
 import '../builder/builder.dart';
-import '../builder/declaration_builders.dart';
 import '../builder/constructor_reference_builder.dart';
+import '../builder/declaration_builders.dart';
 import '../builder/library_builder.dart';
 import '../builder/member_builder.dart';
 import '../builder/metadata_builder.dart';
@@ -34,7 +34,7 @@
 import '../builder/nullability_builder.dart';
 import '../builder/type_builder.dart';
 import '../builder/void_type_declaration_builder.dart';
-import '../fasta_codes.dart';
+import '../codes/fasta_codes.dart';
 import '../kernel/body_builder_context.dart';
 import '../kernel/hierarchy/hierarchy_builder.dart';
 import '../kernel/hierarchy/hierarchy_node.dart';
diff --git a/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart b/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart
index 7f9ba05..0e7201d 100644
--- a/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart
@@ -6,7 +6,6 @@
 
 import 'package:_fe_analyzer_shared/src/parser/formal_parameter_kind.dart';
 import 'package:_fe_analyzer_shared/src/scanner/token.dart';
-
 import 'package:kernel/ast.dart';
 import 'package:kernel/class_hierarchy.dart';
 import 'package:kernel/core_types.dart';
@@ -25,7 +24,7 @@
 import '../builder/nullability_builder.dart';
 import '../builder/procedure_builder.dart';
 import '../builder/type_builder.dart';
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show
         LocatedMessage,
         Severity,
@@ -42,18 +41,15 @@
         templateDuplicatedDeclarationSyntheticCause,
         templateEnumContainsRestrictedInstanceDeclaration,
         templateEnumConstantSameNameAsEnclosing;
-
+import '../constant_context.dart';
 import '../kernel/body_builder.dart';
 import '../kernel/body_builder_context.dart';
 import '../kernel/constness.dart';
 import '../kernel/constructor_tearoff_lowering.dart';
 import '../kernel/expression_generator_helper.dart';
-import '../kernel/kernel_helper.dart';
 import '../kernel/internal_ast.dart';
-
+import '../kernel/kernel_helper.dart';
 import '../modifier.dart' show constMask, hasInitializerMask, staticMask;
-
-import '../constant_context.dart';
 import '../scope.dart';
 import '../type_inference/inference_results.dart';
 import '../type_inference/type_schema.dart';
diff --git a/pkg/front_end/lib/src/fasta/source/source_extension_builder.dart b/pkg/front_end/lib/src/fasta/source/source_extension_builder.dart
index b8186fd..f32e393 100644
--- a/pkg/front_end/lib/src/fasta/source/source_extension_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_extension_builder.dart
@@ -10,7 +10,7 @@
 import '../builder/library_builder.dart';
 import '../builder/metadata_builder.dart';
 import '../builder/type_builder.dart';
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show
         messagePatchDeclarationMismatch,
         messagePatchDeclarationOrigin,
diff --git a/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart b/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart
index ad4c410..6f1c983 100644
--- a/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart
@@ -14,9 +14,9 @@
 import '../builder/function_builder.dart';
 import '../builder/metadata_builder.dart';
 import '../builder/type_builder.dart';
-import '../dill/dill_member_builder.dart';
+import '../codes/fasta_codes.dart';
 import '../dill/dill_extension_type_member_builder.dart';
-import '../fasta_codes.dart';
+import '../dill/dill_member_builder.dart';
 import '../identifiers.dart';
 import '../kernel/body_builder_context.dart';
 import '../kernel/constructor_tearoff_lowering.dart';
diff --git a/pkg/front_end/lib/src/fasta/source/source_field_builder.dart b/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
index 6768013..7d93b5b 100644
--- a/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
@@ -19,8 +19,9 @@
 import '../builder/metadata_builder.dart';
 import '../builder/omitted_type_builder.dart';
 import '../builder/type_builder.dart';
+import '../codes/fasta_codes.dart'
+    show messageInternalProblemAlreadyInitialized;
 import '../constant_context.dart' show ConstantContext;
-import '../fasta_codes.dart' show messageInternalProblemAlreadyInitialized;
 import '../kernel/body_builder.dart' show BodyBuilder;
 import '../kernel/body_builder_context.dart';
 import '../kernel/hierarchy/class_member.dart';
diff --git a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
index aab894c..f36a195 100644
--- a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
@@ -56,11 +56,11 @@
 import '../builder/record_type_builder.dart';
 import '../builder/type_builder.dart';
 import '../builder/void_type_declaration_builder.dart';
+import '../codes/fasta_codes.dart';
 import '../combinator.dart' show CombinatorBuilder;
 import '../configuration.dart' show Configuration;
 import '../dill/dill_library_builder.dart' show DillLibraryBuilder;
 import '../export.dart' show Export;
-import '../fasta_codes.dart';
 import '../identifiers.dart' show Identifier, QualifiedName;
 import '../import.dart' show Import;
 import '../kernel/body_builder_context.dart';
diff --git a/pkg/front_end/lib/src/fasta/source/source_loader.dart b/pkg/front_end/lib/src/fasta/source/source_loader.dart
index 558ab57..02641316 100644
--- a/pkg/front_end/lib/src/fasta/source/source_loader.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_loader.dart
@@ -48,11 +48,11 @@
 import '../builder/omitted_type_builder.dart';
 import '../builder/type_builder.dart';
 import '../builder_graph.dart';
-import '../denylisted_classes.dart'
+import '../codes/denylisted_classes.dart'
     show denylistedCoreClasses, denylistedTypedDataClasses;
+import '../codes/fasta_codes.dart';
 import '../dill/dill_library_builder.dart';
 import '../export.dart' show Export;
-import '../fasta_codes.dart';
 import '../import_chains.dart';
 import '../kernel/benchmarker.dart' show BenchmarkSubdivides;
 import '../kernel/body_builder.dart' show BodyBuilder;
diff --git a/pkg/front_end/lib/src/fasta/source/source_type_alias_builder.dart b/pkg/front_end/lib/src/fasta/source/source_type_alias_builder.dart
index c2eea4b..c9a1b58 100644
--- a/pkg/front_end/lib/src/fasta/source/source_type_alias_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_type_alias_builder.dart
@@ -17,7 +17,7 @@
 import '../builder/name_iterator.dart';
 import '../builder/record_type_builder.dart';
 import '../builder/type_builder.dart';
-import '../fasta_codes.dart'
+import '../codes/fasta_codes.dart'
     show templateCyclicTypedef, templateTypeArgumentMismatch;
 import '../kernel/body_builder_context.dart';
 import '../kernel/constructor_tearoff_lowering.dart';
diff --git a/pkg/front_end/lib/src/fasta/source/stack_listener_impl.dart b/pkg/front_end/lib/src/fasta/source/stack_listener_impl.dart
index e9939a8..197c852 100644
--- a/pkg/front_end/lib/src/fasta/source/stack_listener_impl.dart
+++ b/pkg/front_end/lib/src/fasta/source/stack_listener_impl.dart
@@ -6,23 +6,16 @@
 
 import 'package:_fe_analyzer_shared/src/experiments/flags.dart' as shared
     show ExperimentalFlag;
-
 import 'package:_fe_analyzer_shared/src/parser/parser.dart' show Parser;
-
 import 'package:_fe_analyzer_shared/src/parser/stack_listener.dart';
-
 import 'package:_fe_analyzer_shared/src/scanner/scanner.dart' show Token;
-
 import 'package:kernel/ast.dart';
 
 import '../../api_prototype/experimental_flags.dart';
-import '../fasta_codes.dart';
-
+import '../codes/fasta_codes.dart';
 import '../problems.dart' as problems
     show internalProblem, unhandled, unsupported;
-
 import '../scope.dart';
-
 import 'source_library_builder.dart';
 
 abstract class StackListenerImpl extends StackListener {
diff --git a/pkg/front_end/lib/src/fasta/type_inference/closure_context.dart b/pkg/front_end/lib/src/fasta/type_inference/closure_context.dart
index f76b5ab..1b7b9a0 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/closure_context.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/closure_context.dart
@@ -6,7 +6,7 @@
 import 'package:kernel/src/future_value_type.dart';
 import 'package:kernel/type_environment.dart';
 
-import '../fasta_codes.dart';
+import '../codes/fasta_codes.dart';
 import '../kernel/invalid_type.dart';
 import 'inference_results.dart';
 import 'inference_visitor_base.dart';
diff --git a/pkg/front_end/lib/src/fasta/type_inference/for_in.dart b/pkg/front_end/lib/src/fasta/type_inference/for_in.dart
index 4876152..f1ad9c2 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/for_in.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/for_in.dart
@@ -5,7 +5,7 @@
 import 'package:kernel/ast.dart';
 
 import '../../base/instrumentation.dart' show InstrumentationValueForMember;
-import '../fasta_codes.dart';
+import '../codes/fasta_codes.dart';
 import '../kernel/internal_ast.dart';
 import 'inference_results.dart';
 import 'inference_visitor.dart';
diff --git a/pkg/front_end/lib/src/fasta/type_inference/inference_helper.dart b/pkg/front_end/lib/src/fasta/type_inference/inference_helper.dart
index 0ca9724..b6e0deb 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/inference_helper.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/inference_helper.dart
@@ -4,7 +4,7 @@
 
 import 'package:kernel/ast.dart';
 
-import '../fasta_codes.dart' show LocatedMessage, Message;
+import '../codes/fasta_codes.dart' show LocatedMessage, Message;
 
 abstract class InferenceHelper {
   Uri get uri;
diff --git a/pkg/front_end/lib/src/fasta/type_inference/inference_results.dart b/pkg/front_end/lib/src/fasta/type_inference/inference_results.dart
index ee3e30a..d1c17d9 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/inference_results.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/inference_results.dart
@@ -4,7 +4,8 @@
 
 import 'package:_fe_analyzer_shared/src/util/link.dart';
 import 'package:kernel/ast.dart';
-import '../fasta_codes.dart';
+
+import '../codes/fasta_codes.dart';
 import '../kernel/internal_ast.dart';
 import 'external_ast_helper.dart';
 import 'inference_helper.dart';
diff --git a/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart b/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart
index ea5c8a1..2c6e4ff 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart
@@ -8,9 +8,9 @@
 import 'package:_fe_analyzer_shared/src/flow_analysis/flow_analysis.dart';
 import 'package:_fe_analyzer_shared/src/type_inference/type_analysis_result.dart';
 import 'package:_fe_analyzer_shared/src/type_inference/type_analyzer.dart'
-    hide MapPatternEntry;
-import 'package:_fe_analyzer_shared/src/type_inference/type_analyzer.dart'
     as shared;
+import 'package:_fe_analyzer_shared/src/type_inference/type_analyzer.dart'
+    hide MapPatternEntry;
 import 'package:_fe_analyzer_shared/src/util/link.dart';
 import 'package:_fe_analyzer_shared/src/util/null_value.dart';
 import 'package:_fe_analyzer_shared/src/util/stack_checker.dart';
@@ -28,7 +28,7 @@
         InstrumentationValueForMember,
         InstrumentationValueForType,
         InstrumentationValueForTypeArgs;
-import '../fasta_codes.dart';
+import '../codes/fasta_codes.dart';
 import '../kernel/body_builder.dart' show combineStatements;
 import '../kernel/collections.dart'
     show
diff --git a/pkg/front_end/lib/src/fasta/type_inference/inference_visitor_base.dart b/pkg/front_end/lib/src/fasta/type_inference/inference_visitor_base.dart
index 826d008..fdcca6e 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/inference_visitor_base.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/inference_visitor_base.dart
@@ -6,20 +6,20 @@
 import 'package:_fe_analyzer_shared/src/field_promotability.dart';
 import 'package:_fe_analyzer_shared/src/flow_analysis/flow_analysis.dart';
 import 'package:_fe_analyzer_shared/src/flow_analysis/flow_analysis_operations.dart';
-import 'package:_fe_analyzer_shared/src/type_inference/assigned_variables.dart';
 import 'package:_fe_analyzer_shared/src/testing/id.dart';
+import 'package:_fe_analyzer_shared/src/type_inference/assigned_variables.dart';
 import 'package:_fe_analyzer_shared/src/util/link.dart';
 import 'package:kernel/ast.dart';
 import 'package:kernel/class_hierarchy.dart'
     show ClassHierarchyBase, ClassHierarchyMembers;
 import 'package:kernel/core_types.dart' show CoreTypes;
+import 'package:kernel/names.dart';
 import 'package:kernel/src/bounds_checks.dart'
     show calculateBounds, isGenericFunctionTypeOrAlias;
 import 'package:kernel/src/future_value_type.dart';
 import 'package:kernel/src/legacy_erasure.dart';
 import 'package:kernel/type_algebra.dart';
 import 'package:kernel/type_environment.dart';
-import 'package:kernel/names.dart';
 
 import '../../api_prototype/experimental_flags.dart';
 import '../../base/instrumentation.dart'
@@ -33,7 +33,7 @@
 import '../../testing/id_testing_utils.dart';
 import '../builder/declaration_builders.dart';
 import '../builder/member_builder.dart';
-import '../fasta_codes.dart';
+import '../codes/fasta_codes.dart';
 import '../kernel/constructor_tearoff_lowering.dart';
 import '../kernel/hierarchy/class_member.dart';
 import '../kernel/internal_ast.dart';
diff --git a/pkg/front_end/lib/src/fasta/type_inference/shared_type_analyzer.dart b/pkg/front_end/lib/src/fasta/type_inference/shared_type_analyzer.dart
index b3135f2..f3bbdc1 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/shared_type_analyzer.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/shared_type_analyzer.dart
@@ -8,7 +8,7 @@
 import 'package:kernel/ast.dart';
 import 'package:kernel/core_types.dart';
 
-import '../fasta_codes.dart';
+import '../codes/fasta_codes.dart';
 import 'inference_helper.dart';
 
 /// Implementation of [TypeAnalyzerErrors] that reports errors using the
diff --git a/pkg/front_end/lib/src/fasta/uri_translator.dart b/pkg/front_end/lib/src/fasta/uri_translator.dart
index 48e866e..2a35b24 100644
--- a/pkg/front_end/lib/src/fasta/uri_translator.dart
+++ b/pkg/front_end/lib/src/fasta/uri_translator.dart
@@ -4,12 +4,12 @@
 
 library fasta.uri_translator;
 
-import 'package:package_config/package_config.dart';
-
 import 'package:_fe_analyzer_shared/src/util/libraries_specification.dart'
     show TargetLibrariesSpecification;
+import 'package:package_config/package_config.dart';
+
+import 'codes/fasta_codes.dart';
 import 'compiler_context.dart' show CompilerContext;
-import 'fasta_codes.dart';
 
 class UriTranslator {
   final TargetLibrariesSpecification dartLibraries;
diff --git a/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart b/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
index 89034ef..8d6b8e6 100644
--- a/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
+++ b/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
@@ -1915,6 +1915,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
@@ -1924,6 +1925,7 @@
       Token beginToken,
       Token endToken) {
     TopLevelFieldsEnd data = new TopLevelFieldsEnd(ParserAstType.END,
+        augmentToken: augmentToken,
         externalToken: externalToken,
         staticToken: staticToken,
         covariantToken: covariantToken,
@@ -6491,6 +6493,7 @@
 }
 
 class TopLevelFieldsEnd extends ParserAstNode {
+  final Token? augmentToken;
   final Token? externalToken;
   final Token? staticToken;
   final Token? covariantToken;
@@ -6501,7 +6504,8 @@
   final Token endToken;
 
   TopLevelFieldsEnd(ParserAstType type,
-      {this.externalToken,
+      {this.augmentToken,
+      this.externalToken,
       this.staticToken,
       this.covariantToken,
       this.lateToken,
@@ -6513,6 +6517,7 @@
 
   @override
   Map<String, Object?> get deprecatedArguments => {
+        "augmentToken": augmentToken,
         "externalToken": externalToken,
         "staticToken": staticToken,
         "covariantToken": covariantToken,
diff --git a/pkg/front_end/lib/src/fasta/util/textual_outline.dart b/pkg/front_end/lib/src/fasta/util/textual_outline.dart
index f2d3041..76cef82 100644
--- a/pkg/front_end/lib/src/fasta/util/textual_outline.dart
+++ b/pkg/front_end/lib/src/fasta/util/textual_outline.dart
@@ -2,34 +2,24 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:typed_data' show Uint8List;
-
 import 'dart:io' show File;
+import 'dart:typed_data' show Uint8List;
 
 import 'package:_fe_analyzer_shared/src/parser/class_member_parser.dart'
     show ClassMemberParser;
-
 import 'package:_fe_analyzer_shared/src/parser/identifier_context.dart';
-
+import 'package:_fe_analyzer_shared/src/parser/listener.dart';
 import 'package:_fe_analyzer_shared/src/scanner/abstract_scanner.dart'
     show ScannerConfiguration;
-
 import 'package:_fe_analyzer_shared/src/scanner/scanner.dart'
     show ErrorToken, LanguageVersionToken, Scanner;
-
+import 'package:_fe_analyzer_shared/src/scanner/token.dart' show Token;
 import 'package:_fe_analyzer_shared/src/scanner/utf8_bytes_scanner.dart'
     show Utf8BytesScanner;
-
-import 'package:_fe_analyzer_shared/src/parser/listener.dart';
-
-import 'package:_fe_analyzer_shared/src/scanner/token.dart' show Token;
-
 import 'package:kernel/ast.dart' show Version;
 
 import '../../api_prototype/experimental_flags.dart' show ExperimentalFlag;
-
-import '../fasta_codes.dart' show codeNativeClauseShouldBeAnnotation;
-
+import '../codes/fasta_codes.dart' show codeNativeClauseShouldBeAnnotation;
 import '../messages.dart' show Message;
 
 abstract class _Chunk implements Comparable<_Chunk> {
@@ -755,6 +745,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
diff --git a/pkg/front_end/lib/src/kernel_generator_impl.dart b/pkg/front_end/lib/src/kernel_generator_impl.dart
index bdea358..adb4204 100644
--- a/pkg/front_end/lib/src/kernel_generator_impl.dart
+++ b/pkg/front_end/lib/src/kernel_generator_impl.dart
@@ -22,10 +22,10 @@
 import 'api_prototype/memory_file_system.dart';
 import 'base/nnbd_mode.dart';
 import 'base/processed_options.dart' show ProcessedOptions;
+import 'fasta/codes/fasta_codes.dart' show LocatedMessage;
 import 'fasta/compiler_context.dart' show CompilerContext;
 import 'fasta/crash.dart' show withCrashReporting;
 import 'fasta/dill/dill_target.dart' show DillTarget;
-import 'fasta/fasta_codes.dart' show LocatedMessage;
 import 'fasta/hybrid_file_system.dart';
 import 'fasta/kernel/benchmarker.dart' show BenchmarkPhases, Benchmarker;
 import 'fasta/kernel/kernel_target.dart' show BuildResult, KernelTarget;
diff --git a/pkg/front_end/lib/src/testing/analysis_helper.dart b/pkg/front_end/lib/src/testing/analysis_helper.dart
index 0238be1..399c52a 100644
--- a/pkg/front_end/lib/src/testing/analysis_helper.dart
+++ b/pkg/front_end/lib/src/testing/analysis_helper.dart
@@ -7,8 +7,8 @@
 import 'package:front_end/src/api_prototype/kernel_generator.dart';
 import 'package:front_end/src/api_prototype/terminal_color_support.dart';
 import 'package:front_end/src/compute_platform_binaries_location.dart';
+import 'package:front_end/src/fasta/codes/fasta_codes.dart';
 import 'package:front_end/src/fasta/command_line_reporting.dart';
-import 'package:front_end/src/fasta/fasta_codes.dart';
 import 'package:front_end/src/kernel_generator_impl.dart';
 import 'package:kernel/ast.dart';
 import 'package:kernel/class_hierarchy.dart';
diff --git a/pkg/front_end/lib/src/testing/verifying_analysis.dart b/pkg/front_end/lib/src/testing/verifying_analysis.dart
index ea723bf..9007d1cc 100644
--- a/pkg/front_end/lib/src/testing/verifying_analysis.dart
+++ b/pkg/front_end/lib/src/testing/verifying_analysis.dart
@@ -8,8 +8,8 @@
 import 'package:_fe_analyzer_shared/src/messages/diagnostic_message.dart';
 import 'package:kernel/ast.dart';
 
+import '../fasta/codes/fasta_codes.dart';
 import '../fasta/command_line_reporting.dart';
-import '../fasta/fasta_codes.dart';
 import 'analysis_helper.dart';
 
 /// [AnalysisVisitor] that supports tracking error/problem occurrences in an
diff --git a/pkg/front_end/parser_testcases/augmentation/top_level_declarations.dart.expect b/pkg/front_end/parser_testcases/augmentation/top_level_declarations.dart.expect
index 1c4b771..74d770b 100644
--- a/pkg/front_end/parser_testcases/augmentation/top_level_declarations.dart.expect
+++ b/pkg/front_end/parser_testcases/augmentation/top_level_declarations.dart.expect
@@ -104,7 +104,7 @@
       handleNoType(var)
       handleIdentifier(field, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, var, 1, augment, ;)
+    endTopLevelFields(augment, null, null, null, null, var, 1, augment, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
@@ -115,7 +115,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(0)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, final, 1, augment, ;)
+    endTopLevelFields(augment, null, null, null, null, final, 1, augment, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
@@ -126,7 +126,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(0)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, const, 1, augment, ;)
+    endTopLevelFields(augment, null, null, null, null, const, 1, augment, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
@@ -137,7 +137,7 @@
       handleType(int, null)
       handleIdentifier(field, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+    endTopLevelFields(augment, null, null, null, null, null, 1, augment, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
@@ -146,7 +146,7 @@
       handleNoType(var)
       handleIdentifier(field, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, late, var, 1, augment, ;)
+    endTopLevelFields(augment, null, null, null, late, var, 1, augment, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
@@ -155,7 +155,7 @@
       handleNoType(final)
       handleIdentifier(field, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, late, final, 1, augment, ;)
+    endTopLevelFields(augment, null, null, null, late, final, 1, augment, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
@@ -166,7 +166,7 @@
       handleType(int, null)
       handleIdentifier(field, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, late, null, 1, augment, ;)
+    endTopLevelFields(augment, null, null, null, late, null, 1, augment, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/augmentation/top_level_declarations.dart.intertwined.expect b/pkg/front_end/parser_testcases/augmentation/top_level_declarations.dart.intertwined.expect
index 1859c0b..a4d7518 100644
--- a/pkg/front_end/parser_testcases/augmentation/top_level_declarations.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/augmentation/top_level_declarations.dart.intertwined.expect
@@ -212,7 +212,7 @@
           listener: handleIdentifier(field, topLevelVariableDeclaration)
         parseFieldInitializerOpt(field, field, null, null, augment, null, var, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, augment, ;)
+        listener: endTopLevelFields(augment, null, null, null, null, var, 1, augment, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -236,7 +236,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(0)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, final, 1, augment, ;)
+        listener: endTopLevelFields(augment, null, null, null, null, final, 1, augment, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -260,7 +260,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(0)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, const, 1, augment, ;)
+        listener: endTopLevelFields(augment, null, null, null, null, const, 1, augment, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -277,7 +277,7 @@
           listener: handleIdentifier(field, topLevelVariableDeclaration)
         parseFieldInitializerOpt(field, field, null, null, augment, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+        listener: endTopLevelFields(augment, null, null, null, null, null, 1, augment, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -294,7 +294,7 @@
           listener: handleIdentifier(field, topLevelVariableDeclaration)
         parseFieldInitializerOpt(field, field, late, null, augment, null, var, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, late, var, 1, augment, ;)
+        listener: endTopLevelFields(augment, null, null, null, late, var, 1, augment, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -311,7 +311,7 @@
           listener: handleIdentifier(field, topLevelVariableDeclaration)
         parseFieldInitializerOpt(field, field, late, null, augment, null, final, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, late, final, 1, augment, ;)
+        listener: endTopLevelFields(augment, null, null, null, late, final, 1, augment, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -328,7 +328,7 @@
           listener: handleIdentifier(field, topLevelVariableDeclaration)
         parseFieldInitializerOpt(field, field, late, null, augment, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, late, null, 1, augment, ;)
+        listener: endTopLevelFields(augment, null, null, null, late, null, 1, augment, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/augmentation/top_level_errors.dart.expect b/pkg/front_end/parser_testcases/augmentation/top_level_errors.dart.expect
index f920f8f..55f2ef1 100644
--- a/pkg/front_end/parser_testcases/augmentation/top_level_errors.dart.expect
+++ b/pkg/front_end/parser_testcases/augmentation/top_level_errors.dart.expect
@@ -425,7 +425,7 @@
       handleNoType(var)
       handleIdentifier(field, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, var, 1, augment, ;)
+    endTopLevelFields(augment, null, null, null, null, var, 1, augment, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
@@ -435,7 +435,7 @@
       handleNoType(var)
       handleIdentifier(field, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(external, null, null, null, var, 1, augment, ;)
+    endTopLevelFields(augment, external, null, null, null, var, 1, augment, ;)
   endTopLevelDeclaration(external)
   beginMetadataStar(external)
   endMetadataStar(0)
@@ -445,7 +445,7 @@
       handleNoType(var)
       handleIdentifier(field, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(external, null, null, null, var, 1, external, ;)
+    endTopLevelFields(augment, external, null, null, null, var, 1, external, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
@@ -459,7 +459,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(0)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+    endTopLevelFields(augment, null, null, null, null, null, 1, augment, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
@@ -471,7 +471,7 @@
       handleType(int, null)
       handleIdentifier(field, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(external, null, null, null, null, 1, augment, ;)
+    endTopLevelFields(augment, external, null, null, null, null, 1, augment, ;)
   endTopLevelDeclaration(external)
   beginMetadataStar(external)
   endMetadataStar(0)
@@ -483,7 +483,7 @@
       handleType(int, null)
       handleIdentifier(field, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(external, null, null, null, null, 1, external, ;)
+    endTopLevelFields(augment, external, null, null, null, null, 1, external, ;)
   endTopLevelDeclaration(augment)
   beginMetadataStar(augment)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/augmentation/top_level_errors.dart.intertwined.expect b/pkg/front_end/parser_testcases/augmentation/top_level_errors.dart.intertwined.expect
index a28adca..3b29c1e 100644
--- a/pkg/front_end/parser_testcases/augmentation/top_level_errors.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/augmentation/top_level_errors.dart.intertwined.expect
@@ -588,7 +588,7 @@
           listener: handleIdentifier(field, topLevelVariableDeclaration)
         parseFieldInitializerOpt(field, field, null, null, augment, null, var, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, augment, ;)
+        listener: endTopLevelFields(augment, null, null, null, null, var, 1, augment, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -607,7 +607,7 @@
           listener: handleIdentifier(field, topLevelVariableDeclaration)
         parseFieldInitializerOpt(field, field, null, null, augment, external, var, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(external, null, null, null, var, 1, augment, ;)
+        listener: endTopLevelFields(augment, external, null, null, null, var, 1, augment, ;)
   listener: endTopLevelDeclaration(external)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -626,7 +626,7 @@
           listener: handleIdentifier(field, topLevelVariableDeclaration)
         parseFieldInitializerOpt(field, field, null, null, augment, external, var, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(external, null, null, null, var, 1, external, ;)
+        listener: endTopLevelFields(augment, external, null, null, null, var, 1, external, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -652,7 +652,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(0)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+        listener: endTopLevelFields(augment, null, null, null, null, null, 1, augment, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -671,7 +671,7 @@
           listener: handleIdentifier(field, topLevelVariableDeclaration)
         parseFieldInitializerOpt(field, field, null, null, augment, external, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(external, null, null, null, null, 1, augment, ;)
+        listener: endTopLevelFields(augment, external, null, null, null, null, 1, augment, ;)
   listener: endTopLevelDeclaration(external)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -690,7 +690,7 @@
           listener: handleIdentifier(field, topLevelVariableDeclaration)
         parseFieldInitializerOpt(field, field, null, null, augment, external, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(external, null, null, null, null, 1, external, ;)
+        listener: endTopLevelFields(augment, external, null, null, null, null, 1, external, ;)
   listener: endTopLevelDeclaration(augment)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.expect
index dc5d782..d90179b 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.expect
@@ -18,7 +18,7 @@
       beginFieldInitializer(=)
         handleLiteralNull(null)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, const, 1, const, ;)
+    endTopLevelFields(null, null, null, null, null, const, 1, const, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.intertwined.expect
index dac9373..88c4066 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.intertwined.expect
@@ -24,7 +24,7 @@
                   parseLiteralNull(=)
                     listener: handleLiteralNull(null)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, const, 1, const, ;)
+        listener: endTopLevelFields(null, null, null, null, null, const, 1, const, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39202.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39202.crash_dart.expect
index c93e4f0..0f3569a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39202.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39202.crash_dart.expect
@@ -79,6 +79,6 @@
       handleIdentifier(, topLevelVariableDeclaration)
       handleNoFieldInitializer()
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
-    endTopLevelFields(null, null, null, null, null, 1, b, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, b, ;)
   endTopLevelDeclaration()
 endCompilationUnit(4, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39202.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39202.crash_dart.intertwined.expect
index 556b22a..1b88633 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39202.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39202.crash_dart.intertwined.expect
@@ -103,7 +103,7 @@
           reportRecoverableError(>, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, b, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, b, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(()
   listener: endCompilationUnit(4, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229.crash_dart.expect
index 686342b..821781f 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229.crash_dart.expect
@@ -44,6 +44,6 @@
       handleIdentifier(, topLevelVariableDeclaration)
       handleNoFieldInitializer()
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
-    endTopLevelFields(null, null, null, null, null, 1, Stream, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, Stream, ;)
   endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229.crash_dart.intertwined.expect
index 1ac876b..9bf3317 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229.crash_dart.intertwined.expect
@@ -44,7 +44,7 @@
           reportRecoverableError(>, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, Stream, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, Stream, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(Stream)
   listener: endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime.crash_dart.expect
index 18df5f8..bc1f5a3 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime.crash_dart.expect
@@ -36,6 +36,6 @@
       handleIdentifier(, topLevelVariableDeclaration)
       handleNoFieldInitializer()
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
-    endTopLevelFields(null, null, null, null, null, 1, Stream, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, Stream, ;)
   endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime.crash_dart.intertwined.expect
index c34b8c3..dd83223 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime.crash_dart.intertwined.expect
@@ -39,7 +39,7 @@
           reportRecoverableError(>, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, Stream, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, Stream, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(Stream)
   listener: endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_3.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_3.crash_dart.expect
index ddccf96..ad32f32 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_3.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_3.crash_dart.expect
@@ -39,6 +39,6 @@
       handleIdentifier(, topLevelVariableDeclaration)
       handleNoFieldInitializer()
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
-    endTopLevelFields(null, null, null, null, null, 1, Stream, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, Stream, ;)
   endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_3.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_3.crash_dart.intertwined.expect
index 12f213b..526b135 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_3.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_3.crash_dart.intertwined.expect
@@ -40,7 +40,7 @@
           reportRecoverableError(>, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, Stream, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, Stream, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(Stream)
   listener: endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_4.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_4.crash_dart.expect
index 3773f15..c7eb8e8 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_4.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_4.crash_dart.expect
@@ -16,6 +16,6 @@
       handleType(Stream, null)
       handleIdentifier(y, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, Stream, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, Stream, ;)
   endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_4.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_4.crash_dart.intertwined.expect
index b9704ff..309441a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_4.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_4.crash_dart.intertwined.expect
@@ -26,7 +26,7 @@
           listener: handleIdentifier(y, topLevelVariableDeclaration)
         parseFieldInitializerOpt(y, y, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, Stream, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, Stream, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(Stream)
   listener: endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_5.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_5.dart.expect
index 3283dde..6fb8334 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_5.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_5.dart.expect
@@ -18,6 +18,6 @@
       handleIdentifier(hello, topLevelVariableDeclaration)
       handleNoFieldInitializer()
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], hello, hello)
-    endTopLevelFields(null, null, null, null, null, 1, hello, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, hello, ;)
   endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_5.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_5.dart.intertwined.expect
index 94ddc69..6518bce 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_5.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_5.dart.intertwined.expect
@@ -22,7 +22,7 @@
           reportRecoverableError(hello, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], hello, hello)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, hello, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, hello, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(hello)
   listener: endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_6.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_6.dart.expect
index 5128e2e..d453a10 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_6.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_6.dart.expect
@@ -18,6 +18,6 @@
       handleRecoverableError(Message[ConstFieldWithoutInitializer, The const variable 'foo' must be initialized., Try adding an initializer ('= expression') to the declaration., {name: foo}], foo, foo)
       handleNoFieldInitializer()
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], foo, foo)
-    endTopLevelFields(null, null, null, null, const, 1, const, ;)
+    endTopLevelFields(null, null, null, null, null, const, 1, const, ;)
   endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_6.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_6.dart.intertwined.expect
index 8968ca5..9ba83d9 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_6.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42229_prime_6.dart.intertwined.expect
@@ -23,7 +23,7 @@
           reportRecoverableError(foo, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], foo, foo)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, const, 1, const, ;)
+        listener: endTopLevelFields(null, null, null, null, null, const, 1, const, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(const)
   listener: endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.expect
index 32f3b0f..8323764 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.expect
@@ -341,7 +341,7 @@
       handleNoType(})
       handleIdentifier(baz, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, baz, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, baz, ;)
   endTopLevelDeclaration(Stream)
   beginMetadataStar(Stream)
   endMetadataStar(0)
@@ -372,6 +372,6 @@
       handleIdentifier(, topLevelVariableDeclaration)
       handleNoFieldInitializer()
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
-    endTopLevelFields(null, null, null, null, null, 1, Stream, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, Stream, ;)
   endTopLevelDeclaration()
 endCompilationUnit(6, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.intertwined.expect
index c523617..b7e58b2 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.intertwined.expect
@@ -451,7 +451,7 @@
           listener: handleIdentifier(baz, topLevelVariableDeclaration)
         parseFieldInitializerOpt(baz, baz, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, baz, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, baz, ;)
   listener: endTopLevelDeclaration(Stream)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -500,7 +500,7 @@
           reportRecoverableError(>, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, Stream, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, Stream, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(class)
   listener: endCompilationUnit(6, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_50908.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_50908.dart.expect
index b204247..c8ca975 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_50908.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_50908.dart.expect
@@ -46,7 +46,7 @@
       endFunctionType(Function, null)
       handleIdentifier(f, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, void, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
@@ -72,7 +72,7 @@
       endFunctionType(Function, null)
       handleIdentifier(g, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, void, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
@@ -108,6 +108,6 @@
       endFunctionType(Function, ?)
       handleIdentifier(h, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, void, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   endTopLevelDeclaration()
 endCompilationUnit(3, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_50908.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_50908.dart.intertwined.expect
index 1612466..9bfc3b53 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_50908.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_50908.dart.intertwined.expect
@@ -50,7 +50,7 @@
           listener: handleIdentifier(f, topLevelVariableDeclaration)
         parseFieldInitializerOpt(f, f, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, void, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -92,7 +92,7 @@
           listener: handleIdentifier(g, topLevelVariableDeclaration)
         parseFieldInitializerOpt(g, g, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, void, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -150,7 +150,7 @@
           listener: handleIdentifier(h, topLevelVariableDeclaration)
         parseFieldInitializerOpt(h, h, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, void, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(void)
   listener: endCompilationUnit(3, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.expect
index ed9be4d..bd56d88 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.expect
@@ -144,7 +144,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -157,7 +157,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -171,7 +171,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -184,7 +184,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -197,7 +197,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -211,7 +211,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -225,7 +225,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -239,7 +239,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -253,7 +253,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -267,7 +267,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -281,7 +281,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -294,7 +294,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -308,7 +308,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -321,7 +321,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -335,7 +335,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -348,7 +348,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -362,7 +362,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -376,7 +376,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -389,7 +389,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -403,7 +403,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -416,7 +416,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -429,7 +429,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -442,7 +442,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -456,7 +456,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -470,7 +470,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -484,7 +484,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -498,7 +498,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -511,7 +511,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -524,7 +524,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -537,7 +537,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -551,7 +551,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -564,7 +564,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -577,7 +577,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -591,7 +591,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -604,7 +604,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -617,7 +617,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -631,7 +631,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -644,7 +644,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -657,7 +657,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -670,7 +670,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -683,7 +683,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -697,7 +697,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -711,7 +711,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -724,7 +724,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -737,7 +737,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -750,7 +750,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -763,7 +763,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -776,7 +776,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -789,7 +789,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -802,7 +802,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -816,7 +816,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -830,7 +830,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -843,7 +843,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -856,7 +856,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -869,7 +869,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -882,7 +882,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -896,7 +896,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -910,7 +910,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -923,7 +923,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -937,7 +937,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -951,7 +951,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -965,7 +965,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -979,7 +979,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -992,7 +992,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -1006,7 +1006,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -1020,7 +1020,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -1034,7 +1034,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -1048,7 +1048,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -1061,6 +1061,6 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration()
 endCompilationUnit(69, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.intertwined.expect
index b5e2b07..c914f95 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.intertwined.expect
@@ -24,7 +24,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -48,7 +48,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -76,7 +76,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -100,7 +100,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -124,7 +124,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -152,7 +152,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -180,7 +180,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -208,7 +208,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -236,7 +236,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -264,7 +264,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -292,7 +292,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -316,7 +316,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -344,7 +344,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -368,7 +368,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -396,7 +396,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -420,7 +420,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -448,7 +448,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -476,7 +476,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -500,7 +500,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -528,7 +528,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -552,7 +552,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -576,7 +576,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -600,7 +600,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -628,7 +628,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -656,7 +656,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -684,7 +684,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -712,7 +712,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -736,7 +736,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -760,7 +760,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -784,7 +784,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -812,7 +812,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -836,7 +836,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -860,7 +860,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -888,7 +888,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -912,7 +912,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -936,7 +936,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -964,7 +964,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -988,7 +988,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1012,7 +1012,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1036,7 +1036,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1060,7 +1060,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1088,7 +1088,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1116,7 +1116,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1140,7 +1140,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1164,7 +1164,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1188,7 +1188,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1212,7 +1212,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1236,7 +1236,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1260,7 +1260,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1284,7 +1284,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1312,7 +1312,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1340,7 +1340,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1364,7 +1364,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1388,7 +1388,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1412,7 +1412,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1436,7 +1436,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1462,7 +1462,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1490,7 +1490,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1514,7 +1514,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1540,7 +1540,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1568,7 +1568,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1596,7 +1596,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1624,7 +1624,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1648,7 +1648,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1676,7 +1676,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1704,7 +1704,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1732,7 +1732,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1760,7 +1760,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1784,7 +1784,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(int)
   listener: endCompilationUnit(69, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.expect
index 37885ab..4838612 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.expect
@@ -143,6 +143,6 @@
       beginFieldInitializer(=)
         handleLiteralInt(7)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration()
 endCompilationUnit(3, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.intertwined.expect
index 9f9915aa..fe15180 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.intertwined.expect
@@ -255,7 +255,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(7)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(class)
   listener: endCompilationUnit(3, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.expect
index f4b8477..e40833c 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.expect
@@ -111,6 +111,6 @@
       beginFieldInitializer(=)
         handleLiteralInt(7)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration()
 endCompilationUnit(3, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.intertwined.expect
index 01c3953..5140604 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.intertwined.expect
@@ -231,7 +231,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(7)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(class)
   listener: endCompilationUnit(3, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.expect
index 2211cc5..b3dfb3f 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.expect
@@ -45,7 +45,7 @@
       handleIdentifier(foo, topLevelVariableDeclaration)
       handleNoFieldInitializer(class)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], foo, foo)
-    endTopLevelFields(null, null, null, null, null, 1, foo, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, foo, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.intertwined.expect
index 7087814..1f25870 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.intertwined.expect
@@ -50,7 +50,7 @@
           reportRecoverableError(foo, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], foo, foo)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, foo, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, foo, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/error_recovery/utf_16_le_content.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/utf_16_le_content.crash_dart.expect
index 627ad94..1b995b6 100644
--- a/pkg/front_end/parser_testcases/error_recovery/utf_16_le_content.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/utf_16_le_content.crash_dart.expect
Binary files differ
diff --git a/pkg/front_end/parser_testcases/error_recovery/utf_16_le_content.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/utf_16_le_content.crash_dart.intertwined.expect
index 4ed5f8b..3edf42e 100644
--- a/pkg/front_end/parser_testcases/error_recovery/utf_16_le_content.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/utf_16_le_content.crash_dart.intertwined.expect
@@ -41,7 +41,7 @@
           reportRecoverableError(o, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], o, o)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, C, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, C, ;)
   listener: endTopLevelDeclaration(p)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -62,7 +62,7 @@
           reportRecoverableError(y, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], y, y)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, p, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, p, ;)
   listener: endTopLevelDeclaration(r)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -83,7 +83,7 @@
           reportRecoverableError(i, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, r, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, r, ;)
   listener: endTopLevelDeclaration(g)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -104,7 +104,7 @@
           reportRecoverableError(h, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, g, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, g, ;)
   listener: endTopLevelDeclaration(t)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -217,7 +217,7 @@
           reportRecoverableError(h, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, t, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, t, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -238,7 +238,7 @@
           reportRecoverableError(D, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], D, D)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(a)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -259,7 +259,7 @@
           reportRecoverableError(r, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, a, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   listener: endTopLevelDeclaration(t)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -280,7 +280,7 @@
           reportRecoverableError(p, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], p, p)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, t, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, t, ;)
   listener: endTopLevelDeclaration(r)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -301,7 +301,7 @@
           reportRecoverableError(o, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], o, o)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, r, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, r, ;)
   listener: endTopLevelDeclaration(j)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -322,7 +322,7 @@
           reportRecoverableError(e, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, j, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, j, ;)
   listener: endTopLevelDeclaration(c)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -343,7 +343,7 @@
           reportRecoverableError(t, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, c, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, c, ;)
   listener: endTopLevelDeclaration(a)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -364,7 +364,7 @@
           reportRecoverableError(u, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], u, u)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, a, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   listener: endTopLevelDeclaration(t)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -385,7 +385,7 @@
           reportRecoverableError(h, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, t, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, t, ;)
   listener: endTopLevelDeclaration(o)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -406,7 +406,7 @@
           reportRecoverableError(r, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, o, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, o, ;)
   listener: endTopLevelDeclaration(s)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -429,7 +429,7 @@
           reportRecoverableError(l, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], l, l)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, s, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, s, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -450,7 +450,7 @@
           reportRecoverableError(a, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(s)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -471,7 +471,7 @@
           reportRecoverableError(e, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, s, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, s, ;)
   listener: endTopLevelDeclaration(s)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -492,7 +492,7 @@
           reportRecoverableError(e, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, s, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, s, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -513,7 +513,7 @@
           reportRecoverableError(t, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(h)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -534,7 +534,7 @@
           reportRecoverableError(e, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, h, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, h, ;)
   listener: endTopLevelDeclaration(A)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -555,7 +555,7 @@
           reportRecoverableError(U, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], U, U)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, A, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, A, ;)
   listener: endTopLevelDeclaration(T)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -576,7 +576,7 @@
           reportRecoverableError(H, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], H, H)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, T, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, T, ;)
   listener: endTopLevelDeclaration(O)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -597,7 +597,7 @@
           reportRecoverableError(R, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], R, R)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, O, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, O, ;)
   listener: endTopLevelDeclaration(S)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -618,7 +618,7 @@
           reportRecoverableError(f, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], f, f)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, S, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, S, ;)
   listener: endTopLevelDeclaration(i)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -639,7 +639,7 @@
           reportRecoverableError(l, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], l, l)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, i, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, i, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -661,7 +661,7 @@
           reportRecoverableError(e, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(/)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -702,7 +702,7 @@
           reportRecoverableError(o, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], o, o)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, f, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, f, ;)
   listener: endTopLevelDeclaration(r)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -723,7 +723,7 @@
           reportRecoverableError(d, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], d, d)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, r, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, r, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -744,7 +744,7 @@
           reportRecoverableError(t, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(a)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -765,7 +765,7 @@
           reportRecoverableError(i, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, a, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   listener: endTopLevelDeclaration(l)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -832,7 +832,7 @@
           reportRecoverableError(l, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], l, l)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, A, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, A, ;)
   listener: endTopLevelDeclaration(l)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -853,7 +853,7 @@
           reportRecoverableError(r, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, l, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, l, ;)
   listener: endTopLevelDeclaration(i)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -874,7 +874,7 @@
           reportRecoverableError(g, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], g, g)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, i, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, i, ;)
   listener: endTopLevelDeclaration(h)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -895,7 +895,7 @@
           reportRecoverableError(t, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, h, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, h, ;)
   listener: endTopLevelDeclaration(s)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -916,7 +916,7 @@
           reportRecoverableError(r, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, s, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, s, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -937,7 +937,7 @@
           reportRecoverableError(s, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], s, s)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -958,7 +958,7 @@
           reportRecoverableError(r, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(v)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -979,7 +979,7 @@
           reportRecoverableError(e, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, v, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, v, ;)
   listener: endTopLevelDeclaration(d)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1002,7 +1002,7 @@
           reportRecoverableError(s, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], s, s)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, d, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, d, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1023,7 +1023,7 @@
           reportRecoverableError(o, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], o, o)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(f)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1044,7 +1044,7 @@
           reportRecoverableError(t, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, f, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, f, ;)
   listener: endTopLevelDeclaration(h)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1065,7 +1065,7 @@
           reportRecoverableError(i, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, h, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, h, ;)
   listener: endTopLevelDeclaration(s)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1086,7 +1086,7 @@
           reportRecoverableError(s, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], s, s)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, s, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, s, ;)
   listener: endTopLevelDeclaration(o)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1107,7 +1107,7 @@
           reportRecoverableError(u, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], u, u)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, o, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, o, ;)
   listener: endTopLevelDeclaration(r)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1128,7 +1128,7 @@
           reportRecoverableError(c, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], c, c)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, r, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, r, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1149,7 +1149,7 @@
           reportRecoverableError(c, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], c, c)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(o)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1170,7 +1170,7 @@
           reportRecoverableError(d, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], d, d)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, o, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, o, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1191,7 +1191,7 @@
           reportRecoverableError(i, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(s)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1212,7 +1212,7 @@
           reportRecoverableError(g, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], g, g)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, s, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, s, ;)
   listener: endTopLevelDeclaration(o)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1233,7 +1233,7 @@
           reportRecoverableError(v, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], v, v)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, o, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, o, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1254,7 +1254,7 @@
           reportRecoverableError(r, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(n)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1275,7 +1275,7 @@
           reportRecoverableError(e, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, n, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, n, ;)
   listener: endTopLevelDeclaration(d)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1296,7 +1296,7 @@
           reportRecoverableError(b, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], b, b)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, d, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, d, ;)
   listener: endTopLevelDeclaration(y)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1317,7 +1317,7 @@
           reportRecoverableError(a, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, y, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, y, ;)
   listener: endTopLevelDeclaration(/)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1358,7 +1358,7 @@
           reportRecoverableError(S, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], S, S)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, B, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, B, ;)
   listener: endTopLevelDeclaration(D)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1380,7 +1380,7 @@
           reportRecoverableError(D, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], D, D)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, D, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, D, ;)
   listener: endTopLevelDeclaration(-)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1411,7 +1411,7 @@
           reportRecoverableError(t, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, s, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, s, ;)
   listener: endTopLevelDeclaration(y)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1432,7 +1432,7 @@
           reportRecoverableError(l, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], l, l)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, y, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, y, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1453,7 +1453,7 @@
           reportRecoverableError(l, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], l, l)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(i)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1474,7 +1474,7 @@
           reportRecoverableError(c, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], c, c)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, i, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, i, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1495,7 +1495,7 @@
           reportRecoverableError(n, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], n, n)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(s)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1516,7 +1516,7 @@
           reportRecoverableError(e, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, s, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, s, ;)
   listener: endTopLevelDeclaration(t)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1537,7 +1537,7 @@
           reportRecoverableError(h, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, t, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, t, ;)
   listener: endTopLevelDeclaration(a)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1558,7 +1558,7 @@
           reportRecoverableError(t, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, a, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   listener: endTopLevelDeclaration(c)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1579,7 +1579,7 @@
           reportRecoverableError(a, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, c, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, c, ;)
   listener: endTopLevelDeclaration(n)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1600,7 +1600,7 @@
           reportRecoverableError(b, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], b, b)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, n, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, n, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1621,7 +1621,7 @@
           reportRecoverableError(f, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], f, f)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(o)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1642,7 +1642,7 @@
           reportRecoverableError(u, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], u, u)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, o, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, o, ;)
   listener: endTopLevelDeclaration(n)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1663,7 +1663,7 @@
           reportRecoverableError(d, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], d, d)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, n, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, n, ;)
   listener: endTopLevelDeclaration(i)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1684,7 +1684,7 @@
           reportRecoverableError(n, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], n, n)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, i, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, i, ;)
   listener: endTopLevelDeclaration(t)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1705,7 +1705,7 @@
           reportRecoverableError(h, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, t, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, t, ;)
   listener: endTopLevelDeclaration(e)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1726,7 +1726,7 @@
           reportRecoverableError(L, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], L, L)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, e, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, e, ;)
   listener: endTopLevelDeclaration(I)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1747,7 +1747,7 @@
           reportRecoverableError(C, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], C, C)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, I, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, I, ;)
   listener: endTopLevelDeclaration(E)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1768,7 +1768,7 @@
           reportRecoverableError(N, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], N, N)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, E, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, E, ;)
   listener: endTopLevelDeclaration(S)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1789,7 +1789,7 @@
           reportRecoverableError(E, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], E, E)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, S, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, S, ;)
   listener: endTopLevelDeclaration(f)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1810,7 +1810,7 @@
           reportRecoverableError(i, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, f, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, f, ;)
   listener: endTopLevelDeclaration(l)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1897,7 +1897,7 @@
           reportRecoverableError(h, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, T, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, T, ;)
   listener: endTopLevelDeclaration(i)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1918,7 +1918,7 @@
           reportRecoverableError(s, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], s, s)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, i, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, i, ;)
   listener: endTopLevelDeclaration(f)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1939,7 +1939,7 @@
           reportRecoverableError(i, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, f, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, f, ;)
   listener: endTopLevelDeclaration(l)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1960,7 +1960,7 @@
           reportRecoverableError(e, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, l, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, l, ;)
   listener: endTopLevelDeclaration(i)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1981,7 +1981,7 @@
           reportRecoverableError(s, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], s, s)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, i, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, i, ;)
   listener: endTopLevelDeclaration(s)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2002,7 +2002,7 @@
           reportRecoverableError(a, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, s, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, s, ;)
   listener: endTopLevelDeclaration(v)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2023,7 +2023,7 @@
           reportRecoverableError(e, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, v, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, v, ;)
   listener: endTopLevelDeclaration(d)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2044,7 +2044,7 @@
           reportRecoverableError(a, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, d, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, d, ;)
   listener: endTopLevelDeclaration(s)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2065,7 +2065,7 @@
           reportRecoverableError(U, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], U, U)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, s, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, s, ;)
   listener: endTopLevelDeclaration(T)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2086,7 +2086,7 @@
           reportRecoverableError(F, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], F, F)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, T, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, T, ;)
   listener: endTopLevelDeclaration(-)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2183,7 +2183,7 @@
           reportRecoverableError(a, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, m, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, m, ;)
   listener: endTopLevelDeclaration(i)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/extensions/const.dart.expect b/pkg/front_end/parser_testcases/extensions/const.dart.expect
index ae288f6..ff28d5f 100644
--- a/pkg/front_end/parser_testcases/extensions/const.dart.expect
+++ b/pkg/front_end/parser_testcases/extensions/const.dart.expect
@@ -51,7 +51,7 @@
       handleRecoverableError(Message[ConstFieldWithoutInitializer, The const variable 'on' must be initialized., Try adding an initializer ('= expression') to the declaration., {name: on}], on, on)
       handleNoFieldInitializer(int)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], on, on)
-    endTopLevelFields(null, null, null, null, const, 1, const, ;)
+    endTopLevelFields(null, null, null, null, null, const, 1, const, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/extensions/const.dart.intertwined.expect b/pkg/front_end/parser_testcases/extensions/const.dart.intertwined.expect
index 895593e..f1062f7 100644
--- a/pkg/front_end/parser_testcases/extensions/const.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/extensions/const.dart.intertwined.expect
@@ -56,7 +56,7 @@
           reportRecoverableError(on, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], on, on)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, const, 1, const, ;)
+        listener: endTopLevelFields(null, null, null, null, null, const, 1, const, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/general/ambiguous_builder_01.dart.expect b/pkg/front_end/parser_testcases/general/ambiguous_builder_01.dart.expect
index f8731ba..71e80fc 100644
--- a/pkg/front_end/parser_testcases/general/ambiguous_builder_01.dart.expect
+++ b/pkg/front_end/parser_testcases/general/ambiguous_builder_01.dart.expect
@@ -64,7 +64,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, y, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, y, ;)
   endTopLevelDeclaration(x)
   beginMetadataStar(x)
   endMetadataStar(0)
@@ -97,7 +97,7 @@
       beginFieldInitializer(=)
         handleLiteralBool(true)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, z, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, z, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/general/ambiguous_builder_01.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/ambiguous_builder_01.dart.intertwined.expect
index 19eefb3..763308a 100644
--- a/pkg/front_end/parser_testcases/general/ambiguous_builder_01.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/ambiguous_builder_01.dart.intertwined.expect
@@ -70,7 +70,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, y, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, y, ;)
   listener: endTopLevelDeclaration(x)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -140,7 +140,7 @@
                   parseLiteralBool(=)
                     listener: handleLiteralBool(true)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, z, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, z, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/general/augment_super.dart.expect b/pkg/front_end/parser_testcases/general/augment_super.dart.expect
index 315e2e0..335d8ed 100644
--- a/pkg/front_end/parser_testcases/general/augment_super.dart.expect
+++ b/pkg/front_end/parser_testcases/general/augment_super.dart.expect
@@ -178,7 +178,7 @@
       handleIdentifier(augment, topLevelVariableDeclaration)
       handleNoFieldInitializer(void)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
-    endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
@@ -219,7 +219,7 @@
       handleIdentifier(augment, topLevelVariableDeclaration)
       handleNoFieldInitializer(void)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
-    endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
@@ -323,7 +323,7 @@
       handleIdentifier(augment, topLevelVariableDeclaration)
       handleNoFieldInitializer(void)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
-    endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
@@ -466,7 +466,7 @@
       handleIdentifier(augment, topLevelVariableDeclaration)
       handleNoFieldInitializer(class)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
-    endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/general/augment_super.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/augment_super.dart.intertwined.expect
index a2e555a..b62eb23 100644
--- a/pkg/front_end/parser_testcases/general/augment_super.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/augment_super.dart.intertwined.expect
@@ -23,7 +23,7 @@
           reportRecoverableError(augment, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -117,7 +117,7 @@
           reportRecoverableError(augment, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -372,7 +372,7 @@
           reportRecoverableError(augment, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -704,7 +704,7 @@
           reportRecoverableError(augment, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/general/built_in_identifier_top_level_fields.dart.expect b/pkg/front_end/parser_testcases/general/built_in_identifier_top_level_fields.dart.expect
index c4c9824..0b9a7cc 100644
--- a/pkg/front_end/parser_testcases/general/built_in_identifier_top_level_fields.dart.expect
+++ b/pkg/front_end/parser_testcases/general/built_in_identifier_top_level_fields.dart.expect
@@ -10,7 +10,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -23,7 +23,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -36,7 +36,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -49,7 +49,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -62,7 +62,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -75,7 +75,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -88,7 +88,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -101,7 +101,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -114,7 +114,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -127,7 +127,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -140,7 +140,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -153,7 +153,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -166,7 +166,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -179,7 +179,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -192,7 +192,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -205,7 +205,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -218,7 +218,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -231,7 +231,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -244,7 +244,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(int)
   beginMetadataStar(int)
   endMetadataStar(0)
@@ -257,6 +257,6 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration()
 endCompilationUnit(20, )
diff --git a/pkg/front_end/parser_testcases/general/built_in_identifier_top_level_fields.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/built_in_identifier_top_level_fields.dart.intertwined.expect
index 729b89d..57e0211 100644
--- a/pkg/front_end/parser_testcases/general/built_in_identifier_top_level_fields.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/built_in_identifier_top_level_fields.dart.intertwined.expect
@@ -24,7 +24,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -48,7 +48,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -72,7 +72,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -96,7 +96,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -120,7 +120,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -144,7 +144,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -168,7 +168,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -192,7 +192,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -216,7 +216,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -240,7 +240,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -264,7 +264,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -288,7 +288,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -312,7 +312,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -336,7 +336,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -360,7 +360,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -384,7 +384,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -408,7 +408,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -432,7 +432,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -456,7 +456,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(int)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -480,7 +480,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(int)
   listener: endCompilationUnit(20, )
diff --git a/pkg/front_end/parser_testcases/general/function_reference_following_token.dart.expect b/pkg/front_end/parser_testcases/general/function_reference_following_token.dart.expect
index c0a3ef2..14399be 100644
--- a/pkg/front_end/parser_testcases/general/function_reference_following_token.dart.expect
+++ b/pkg/front_end/parser_testcases/general/function_reference_following_token.dart.expect
@@ -104,7 +104,7 @@
         handleTypeArgumentApplication(<)
         handleLiteralSetOrMap(1, {, null, }, true)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -129,7 +129,7 @@
         handleTypeArgumentApplication(<)
         handleLiteralList(1, [, null, ])
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -157,7 +157,7 @@
         endArguments(1, (, ))
         handleSend(g, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -184,7 +184,7 @@
         handleLiteralMapEntry(:, })
         handleLiteralSetOrMap(1, {, null, }, false)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -210,7 +210,7 @@
         handleLiteralNull(null)
         handleLiteralList(2, [, null, ])
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -236,7 +236,7 @@
           handleLiteralNull(null)
         endBinaryExpression(==)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -262,7 +262,7 @@
           handleLiteralNull(null)
         endBinaryExpression(!=)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -284,7 +284,7 @@
         endArguments(0, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -310,7 +310,7 @@
           endArguments(0, (, ))
         endImplicitCreationExpression(f, <)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -343,7 +343,7 @@
         handleSend(foo, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -371,7 +371,7 @@
         handleSend(hashCode, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -394,7 +394,7 @@
         endTypeArguments(2, <, >)
         handleTypeArgumentApplication(<)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -436,7 +436,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -471,7 +471,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -513,7 +513,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -551,7 +551,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -589,7 +589,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -631,7 +631,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -673,7 +673,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -715,7 +715,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -745,7 +745,7 @@
           handleLiteralList(0, [, null, ])
         endBinaryExpression(>)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -781,7 +781,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -818,7 +818,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -862,7 +862,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -903,7 +903,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -945,7 +945,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -989,7 +989,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -1031,7 +1031,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -1072,7 +1072,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -1114,7 +1114,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -1160,7 +1160,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -1202,7 +1202,7 @@
         endArguments(3, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -1243,7 +1243,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -1285,7 +1285,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -1327,7 +1327,7 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -1369,6 +1369,6 @@
         endArguments(2, (, ))
         handleSend(f, ;)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration()
 endCompilationUnit(36, )
diff --git a/pkg/front_end/parser_testcases/general/function_reference_following_token.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/function_reference_following_token.dart.intertwined.expect
index f6c9a95..fe9b53c 100644
--- a/pkg/front_end/parser_testcases/general/function_reference_following_token.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/function_reference_following_token.dart.intertwined.expect
@@ -47,7 +47,7 @@
                         listener: handleTypeArgumentApplication(<)
                     listener: handleLiteralSetOrMap(1, {, null, }, true)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -94,7 +94,7 @@
                         listener: handleTypeArgumentApplication(<)
                     listener: handleLiteralList(1, [, null, ])
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -151,7 +151,7 @@
                             listener: endArguments(1, (, ))
                       listener: handleSend(g, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -205,7 +205,7 @@
                     listener: handleLiteralMapEntry(:, })
                     listener: handleLiteralSetOrMap(1, {, null, }, false)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -258,7 +258,7 @@
                               listener: handleLiteralNull(null)
                     listener: handleLiteralList(2, [, null, ])
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -305,7 +305,7 @@
                       listener: handleLiteralNull(null)
               listener: endBinaryExpression(==)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -352,7 +352,7 @@
                       listener: handleLiteralNull(null)
               listener: endBinaryExpression(!=)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -394,7 +394,7 @@
                             listener: endArguments(0, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -438,7 +438,7 @@
                       listener: endArguments(0, (, ))
                   listener: endImplicitCreationExpression(f, <)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -497,7 +497,7 @@
                     listener: handleSend(foo, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -548,7 +548,7 @@
                     listener: handleSend(hashCode, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -588,7 +588,7 @@
               listener: endTypeArguments(2, <, >)
               listener: handleTypeArgumentApplication(<)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -693,7 +693,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -784,7 +784,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -889,7 +889,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -988,7 +988,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1089,7 +1089,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1194,7 +1194,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1299,7 +1299,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1400,7 +1400,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1466,7 +1466,7 @@
                         listener: handleLiteralList(0, [, null, ])
               listener: endBinaryExpression(>)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1558,7 +1558,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1654,7 +1654,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1766,7 +1766,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1875,7 +1875,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1980,7 +1980,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2087,7 +2087,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2194,7 +2194,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2302,7 +2302,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2408,7 +2408,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2518,7 +2518,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2630,7 +2630,7 @@
                             listener: endArguments(3, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2732,7 +2732,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2837,7 +2837,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -2942,7 +2942,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -3047,7 +3047,7 @@
                             listener: endArguments(2, (, ))
                       listener: handleSend(f, ;)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(var)
   listener: endCompilationUnit(36, )
diff --git a/pkg/front_end/parser_testcases/general/function_reference_kinds.dart.expect b/pkg/front_end/parser_testcases/general/function_reference_kinds.dart.expect
index 0742124..9d037b2 100644
--- a/pkg/front_end/parser_testcases/general/function_reference_kinds.dart.expect
+++ b/pkg/front_end/parser_testcases/general/function_reference_kinds.dart.expect
@@ -20,7 +20,7 @@
         endTypeArguments(2, <, >)
         handleTypeArgumentApplication(<)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -49,7 +49,7 @@
         endTypeArguments(2, <, >)
         handleTypeArgumentApplication(<)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -77,7 +77,7 @@
         endTypeArguments(2, <, >)
         handleTypeArgumentApplication(<)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -110,6 +110,6 @@
         endTypeArguments(2, <, >)
         handleTypeArgumentApplication(<)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration()
 endCompilationUnit(4, )
diff --git a/pkg/front_end/parser_testcases/general/function_reference_kinds.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/function_reference_kinds.dart.intertwined.expect
index 89517d0..8186b35 100644
--- a/pkg/front_end/parser_testcases/general/function_reference_kinds.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/function_reference_kinds.dart.intertwined.expect
@@ -40,7 +40,7 @@
               listener: endTypeArguments(2, <, >)
               listener: handleTypeArgumentApplication(<)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -95,7 +95,7 @@
               listener: endTypeArguments(2, <, >)
               listener: handleTypeArgumentApplication(<)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -146,7 +146,7 @@
               listener: endTypeArguments(2, <, >)
               listener: handleTypeArgumentApplication(<)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -208,7 +208,7 @@
               listener: endTypeArguments(2, <, >)
               listener: handleTypeArgumentApplication(<)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(var)
   listener: endCompilationUnit(4, )
diff --git a/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.expect b/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.expect
index 6ad4a38..292353c 100644
--- a/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.expect
+++ b/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.expect
@@ -847,7 +847,7 @@
       endFunctionType(Function, null)
       handleIdentifier(f1, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, void, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
@@ -871,7 +871,7 @@
       endFunctionType(Function, null)
       handleIdentifier(f2, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, void, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
@@ -899,7 +899,7 @@
       endFunctionType(Function, null)
       handleIdentifier(f3, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, void, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
@@ -931,7 +931,7 @@
       endFunctionType(Function, null)
       handleIdentifier(f4, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, void, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
@@ -963,7 +963,7 @@
       endFunctionType(Function, null)
       handleIdentifier(f5, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, void, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
@@ -995,7 +995,7 @@
       endFunctionType(Function, null)
       handleIdentifier(f6, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, void, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   endTopLevelDeclaration(main)
   beginMetadataStar(main)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.intertwined.expect
index c7ec373..a0173b0 100644
--- a/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.intertwined.expect
@@ -1162,7 +1162,7 @@
           listener: handleIdentifier(f1, topLevelVariableDeclaration)
         parseFieldInitializerOpt(f1, f1, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, void, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1196,7 +1196,7 @@
           listener: handleIdentifier(f2, topLevelVariableDeclaration)
         parseFieldInitializerOpt(f2, f2, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, void, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1236,7 +1236,7 @@
           listener: handleIdentifier(f3, topLevelVariableDeclaration)
         parseFieldInitializerOpt(f3, f3, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, void, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1280,7 +1280,7 @@
           listener: handleIdentifier(f4, topLevelVariableDeclaration)
         parseFieldInitializerOpt(f4, f4, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, void, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1324,7 +1324,7 @@
           listener: handleIdentifier(f5, topLevelVariableDeclaration)
         parseFieldInitializerOpt(f5, f5, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, void, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1368,7 +1368,7 @@
           listener: handleIdentifier(f6, topLevelVariableDeclaration)
         parseFieldInitializerOpt(f6, f6, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, void, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, void, ;)
   listener: endTopLevelDeclaration(main)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/general/new_as_identifier.dart.expect b/pkg/front_end/parser_testcases/general/new_as_identifier.dart.expect
index fdebfbb..075f100 100644
--- a/pkg/front_end/parser_testcases/general/new_as_identifier.dart.expect
+++ b/pkg/front_end/parser_testcases/general/new_as_identifier.dart.expect
@@ -349,7 +349,7 @@
           endArguments(0, (, ))
         endConstExpression(const)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -373,7 +373,7 @@
           endArguments(0, (, ))
         endConstExpression(const)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -395,7 +395,7 @@
           endArguments(0, (, ))
         endConstExpression(const)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -421,7 +421,7 @@
           endArguments(0, (, ))
         endConstExpression(const)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -443,7 +443,7 @@
           endArguments(0, (, ))
         endNewExpression(new)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -467,7 +467,7 @@
           endArguments(0, (, ))
         endNewExpression(new)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -489,7 +489,7 @@
           endArguments(0, (, ))
         endNewExpression(new)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -515,7 +515,7 @@
           endArguments(0, (, ))
         endNewExpression(new)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -536,7 +536,7 @@
         handleSend(new, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -560,7 +560,7 @@
           endArguments(0, (, ))
         endImplicitCreationExpression(C, <)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -586,7 +586,7 @@
         handleSend(new, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -612,7 +612,7 @@
           endArguments(0, (, ))
         endImplicitCreationExpression(prefix, <)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -632,7 +632,7 @@
         handleSend(new, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -658,7 +658,7 @@
         handleSend(new, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -690,7 +690,7 @@
         handleSend(toString, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -716,7 +716,7 @@
         handleSend(toString, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -741,7 +741,7 @@
         handleSend(new, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -772,7 +772,7 @@
         handleSend(new, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -809,7 +809,7 @@
         handleSend(toString, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -840,6 +840,6 @@
         handleSend(toString, ;)
         handleEndingBinaryExpression(.)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration()
 endCompilationUnit(22, )
diff --git a/pkg/front_end/parser_testcases/general/new_as_identifier.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/new_as_identifier.dart.intertwined.expect
index ca75717..a7922d1 100644
--- a/pkg/front_end/parser_testcases/general/new_as_identifier.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/new_as_identifier.dart.intertwined.expect
@@ -659,7 +659,7 @@
                         listener: endArguments(0, (, ))
                     listener: endConstExpression(const)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -703,7 +703,7 @@
                         listener: endArguments(0, (, ))
                     listener: endConstExpression(const)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -747,7 +747,7 @@
                         listener: endArguments(0, (, ))
                     listener: endConstExpression(const)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -795,7 +795,7 @@
                         listener: endArguments(0, (, ))
                     listener: endConstExpression(const)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -839,7 +839,7 @@
                         listener: endArguments(0, (, ))
                     listener: endNewExpression(new)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -884,7 +884,7 @@
                         listener: endArguments(0, (, ))
                     listener: endNewExpression(new)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -929,7 +929,7 @@
                         listener: endArguments(0, (, ))
                     listener: endNewExpression(new)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -978,7 +978,7 @@
                         listener: endArguments(0, (, ))
                     listener: endNewExpression(new)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1026,7 +1026,7 @@
                     listener: handleSend(new, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1069,7 +1069,7 @@
                       listener: endArguments(0, (, ))
                   listener: endImplicitCreationExpression(C, <)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1128,7 +1128,7 @@
                     listener: handleSend(new, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1175,7 +1175,7 @@
                       listener: endArguments(0, (, ))
                   listener: endImplicitCreationExpression(prefix, <)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1219,7 +1219,7 @@
                     listener: handleSend(new, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1269,7 +1269,7 @@
                     listener: handleSend(new, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1334,7 +1334,7 @@
                     listener: handleSend(toString, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1393,7 +1393,7 @@
                     listener: handleSend(toString, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1448,7 +1448,7 @@
                     listener: handleSend(new, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1509,7 +1509,7 @@
                     listener: handleSend(new, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1585,7 +1585,7 @@
                     listener: handleSend(toString, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -1655,7 +1655,7 @@
                     listener: handleSend(toString, ;)
               listener: handleEndingBinaryExpression(.)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(class)
   listener: endCompilationUnit(22, )
diff --git a/pkg/front_end/parser_testcases/inline_class/inline_class.dart.expect b/pkg/front_end/parser_testcases/inline_class/inline_class.dart.expect
index a3698be..73e0a25 100644
--- a/pkg/front_end/parser_testcases/inline_class/inline_class.dart.expect
+++ b/pkg/front_end/parser_testcases/inline_class/inline_class.dart.expect
@@ -26,7 +26,7 @@
       handleIdentifier(inline, topLevelVariableDeclaration)
       handleNoFieldInitializer(class)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], inline, inline)
-    endTopLevelFields(null, null, null, null, null, 1, inline, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, inline, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
@@ -52,7 +52,7 @@
       handleIdentifier(inline, topLevelVariableDeclaration)
       handleNoFieldInitializer(class)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], inline, inline)
-    endTopLevelFields(null, null, null, null, null, 1, inline, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, inline, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/inline_class/inline_class.dart.intertwined.expect b/pkg/front_end/parser_testcases/inline_class/inline_class.dart.intertwined.expect
index 0e28718..00efed0 100644
--- a/pkg/front_end/parser_testcases/inline_class/inline_class.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/inline_class/inline_class.dart.intertwined.expect
@@ -23,7 +23,7 @@
           reportRecoverableError(inline, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], inline, inline)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, inline, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, inline, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -73,7 +73,7 @@
           reportRecoverableError(inline, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], inline, inline)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, inline, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, inline, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/macros/augment_class.dart.expect b/pkg/front_end/parser_testcases/macros/augment_class.dart.expect
index 5fac285..fc54c12 100644
--- a/pkg/front_end/parser_testcases/macros/augment_class.dart.expect
+++ b/pkg/front_end/parser_testcases/macros/augment_class.dart.expect
@@ -50,7 +50,7 @@
       handleIdentifier(augment, topLevelVariableDeclaration)
       handleNoFieldInitializer(class)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
-    endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
@@ -77,7 +77,7 @@
       handleIdentifier(augment, topLevelVariableDeclaration)
       handleNoFieldInitializer(class)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
-    endTopLevelFields(null, null, null, null, null, 1, abstract, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, abstract, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
@@ -103,7 +103,7 @@
       handleIdentifier(augment, topLevelVariableDeclaration)
       handleNoFieldInitializer(class)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
-    endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
@@ -132,7 +132,7 @@
       handleIdentifier(augment, topLevelVariableDeclaration)
       handleNoFieldInitializer(class)
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
-    endTopLevelFields(null, null, null, null, null, 1, abstract, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, abstract, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/macros/augment_class.dart.intertwined.expect b/pkg/front_end/parser_testcases/macros/augment_class.dart.intertwined.expect
index c52addc..28ba1ae 100644
--- a/pkg/front_end/parser_testcases/macros/augment_class.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/macros/augment_class.dart.intertwined.expect
@@ -23,7 +23,7 @@
           reportRecoverableError(augment, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -75,7 +75,7 @@
           reportRecoverableError(augment, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, abstract, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, abstract, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -125,7 +125,7 @@
           reportRecoverableError(augment, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, augment, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, augment, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -176,7 +176,7 @@
           reportRecoverableError(augment, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], augment, augment)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, abstract, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, abstract, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.expect
index 701e4f1..1d51217 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.expect
@@ -163,7 +163,7 @@
       handleNoType(abstract)
       handleIdentifier(foo, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(abstract)
   beginMetadataStar(abstract)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.intertwined.expect
index 1febb97..543bd2f 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.intertwined.expect
@@ -203,7 +203,7 @@
           listener: handleIdentifier(foo, topLevelVariableDeclaration)
         parseFieldInitializerOpt(foo, foo, null, null, null, null, var, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(abstract)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.expect
index d16b2c3..1e01ed4 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.expect
@@ -47,7 +47,7 @@
       handleType(int, null)
       handleIdentifier(i1, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(external, null, null, null, final, 1, final, ;)
+    endTopLevelFields(null, external, null, null, null, final, 1, final, ;)
   endTopLevelDeclaration(var)
   beginMetadataStar(var)
   endMetadataStar(0)
@@ -57,7 +57,7 @@
       handleNoType(external)
       handleIdentifier(i2, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(external, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, external, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.intertwined.expect
index eefed1d..d04ecd3e 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.intertwined.expect
@@ -21,7 +21,7 @@
           listener: handleIdentifier(i1, topLevelVariableDeclaration)
         parseFieldInitializerOpt(i1, i1, null, null, null, external, final, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(external, null, null, null, final, 1, final, ;)
+        listener: endTopLevelFields(null, external, null, null, null, final, 1, final, ;)
   listener: endTopLevelDeclaration(var)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -40,7 +40,7 @@
           listener: handleIdentifier(i2, topLevelVariableDeclaration)
         parseFieldInitializerOpt(i2, i2, null, null, null, external, var, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(external, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, external, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.expect
index a45c487..689ec2e 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.expect
@@ -53,7 +53,7 @@
       handleNoType(late)
       handleIdentifier(y, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, late, null, 1, late, ;)
+    endTopLevelFields(null, null, null, null, late, null, 1, late, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.intertwined.expect
index df91c29..57ce80f 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.intertwined.expect
@@ -67,7 +67,7 @@
           listener: handleIdentifier(y, topLevelVariableDeclaration)
         parseFieldInitializerOpt(y, y, late, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, late, null, 1, late, ;)
+        listener: endTopLevelFields(null, null, null, null, late, null, 1, late, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.expect
index f73c9ed..5c2a3e2 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.expect
@@ -8,7 +8,7 @@
       handleType(bool, null)
       handleIdentifier(x, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, bool, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, bool, ;)
   endTopLevelDeclaration(bool)
   beginMetadataStar(bool)
   endMetadataStar(0)
@@ -19,7 +19,7 @@
       handleType(bool, null)
       handleIdentifier(x, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, bool, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, bool, ;)
   endTopLevelDeclaration(errors)
   beginMetadataStar(errors)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.intertwined.expect
index 50019d9..66efe4b 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.intertwined.expect
@@ -17,7 +17,7 @@
           listener: handleIdentifier(x, topLevelVariableDeclaration)
         parseFieldInitializerOpt(x, x, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, bool, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, bool, ;)
   listener: endTopLevelDeclaration(bool)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -34,7 +34,7 @@
           listener: handleIdentifier(x, topLevelVariableDeclaration)
         parseFieldInitializerOpt(x, x, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, bool, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, bool, ;)
   listener: endTopLevelDeclaration(errors)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_44477.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_44477.dart.expect
index 3e3995b..c857e95 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_44477.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_44477.dart.expect
@@ -44,6 +44,6 @@
       handleIdentifier(, topLevelVariableDeclaration)
       handleNoFieldInitializer()
       handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
-    endTopLevelFields(null, null, null, null, null, 1, Future, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, Future, ;)
   endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_44477.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_44477.dart.intertwined.expect
index 6847c74..3ab46fa 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_44477.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_44477.dart.intertwined.expect
@@ -44,7 +44,7 @@
           reportRecoverableError(>, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
             listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
           rewriter()
-        listener: endTopLevelFields(null, null, null, null, null, 1, Future, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, Future, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(Future)
   listener: endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/non-nnbd/issue_40267_conditional_4.dart.expect b/pkg/front_end/parser_testcases/non-nnbd/issue_40267_conditional_4.dart.expect
index 6b18cf8..74dbf03 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/issue_40267_conditional_4.dart.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/issue_40267_conditional_4.dart.expect
@@ -14,7 +14,7 @@
       handleNoFieldInitializer(,)
       handleIdentifier(e, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, var, 5, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 5, var, ;)
   endTopLevelDeclaration(List)
   beginMetadataStar(List)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/non-nnbd/issue_40267_conditional_4.dart.intertwined.expect b/pkg/front_end/parser_testcases/non-nnbd/issue_40267_conditional_4.dart.intertwined.expect
index e91a691..cee08d1 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/issue_40267_conditional_4.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/issue_40267_conditional_4.dart.intertwined.expect
@@ -33,7 +33,7 @@
           listener: handleIdentifier(e, topLevelVariableDeclaration)
         parseFieldInitializerOpt(e, e, null, null, null, null, var, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, var, 5, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 5, var, ;)
   listener: endTopLevelDeclaration(List)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.expect b/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.expect
index 0b054f3..dc97522 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.expect
@@ -70,7 +70,7 @@
       handleType(int, null)
       handleIdentifier(x1, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   endTopLevelDeclaration(late)
   beginMetadataStar(late)
   endMetadataStar(0)
@@ -82,7 +82,7 @@
       handleType(int, null)
       handleIdentifier(x2, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, late, null, 1, int, ;)
+    endTopLevelFields(null, null, null, null, late, null, 1, int, ;)
   endTopLevelDeclaration(late)
   beginMetadataStar(late)
   endMetadataStar(0)
@@ -98,7 +98,7 @@
       handleType(List, null)
       handleIdentifier(x3, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, late, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, late, null, 1, List, ;)
   endTopLevelDeclaration(late)
   beginMetadataStar(late)
   endMetadataStar(0)
@@ -110,7 +110,7 @@
       handleType(int, null)
       handleIdentifier(x4, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, late, final, 1, final, ;)
+    endTopLevelFields(null, null, null, null, late, final, 1, final, ;)
   endTopLevelDeclaration(late)
   beginMetadataStar(late)
   endMetadataStar(0)
@@ -121,7 +121,7 @@
       handleType(late, null)
       handleIdentifier(x5, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, late, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, late, ;)
   endTopLevelDeclaration(;)
   beginMetadataStar(;)
   endMetadataStar(0)
@@ -137,7 +137,7 @@
       handleNoType(;)
       handleIdentifier(late, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, late, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, late, ;)
   endTopLevelDeclaration(;)
   beginMetadataStar(;)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.intertwined.expect b/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.intertwined.expect
index 16e164b..41c2b1e 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.intertwined.expect
@@ -17,7 +17,7 @@
           listener: handleIdentifier(x1, topLevelVariableDeclaration)
         parseFieldInitializerOpt(x1, x1, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, int, ;)
   listener: endTopLevelDeclaration(late)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -37,7 +37,7 @@
           listener: handleIdentifier(x2, topLevelVariableDeclaration)
         parseFieldInitializerOpt(x2, x2, late, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, late, null, 1, int, ;)
+        listener: endTopLevelFields(null, null, null, null, late, null, 1, int, ;)
   listener: endTopLevelDeclaration(late)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -61,7 +61,7 @@
           listener: handleIdentifier(x3, topLevelVariableDeclaration)
         parseFieldInitializerOpt(x3, x3, late, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, late, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, late, null, 1, List, ;)
   listener: endTopLevelDeclaration(late)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -83,7 +83,7 @@
           listener: handleIdentifier(x4, topLevelVariableDeclaration)
         parseFieldInitializerOpt(x4, x4, late, null, null, null, final, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, late, final, 1, final, ;)
+        listener: endTopLevelFields(null, null, null, null, late, final, 1, final, ;)
   listener: endTopLevelDeclaration(late)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -100,7 +100,7 @@
           listener: handleIdentifier(x5, topLevelVariableDeclaration)
         parseFieldInitializerOpt(x5, x5, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, late, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, late, ;)
   listener: endTopLevelDeclaration(;)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -128,7 +128,7 @@
           listener: handleIdentifier(late, topLevelVariableDeclaration)
         parseFieldInitializerOpt(late, late, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, late, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, late, ;)
   listener: endTopLevelDeclaration(;)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/patterns/const_patterns.dart.expect b/pkg/front_end/parser_testcases/patterns/const_patterns.dart.expect
index a8c1a1ac..1d66cd1 100644
--- a/pkg/front_end/parser_testcases/patterns/const_patterns.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/const_patterns.dart.expect
@@ -230,7 +230,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(42)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, const, 1, const, ;)
+    endTopLevelFields(null, null, null, null, null, const, 1, const, ;)
   endTopLevelDeclaration(void)
   beginMetadataStar(void)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/patterns/const_patterns.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/const_patterns.dart.intertwined.expect
index 2d5b024..c2e946f 100644
--- a/pkg/front_end/parser_testcases/patterns/const_patterns.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/const_patterns.dart.intertwined.expect
@@ -53,7 +53,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(42)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, const, 1, const, ;)
+        listener: endTopLevelFields(null, null, null, null, null, const, 1, const, ;)
   listener: endTopLevelDeclaration(void)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/patterns/const_patterns_binary.dart.expect b/pkg/front_end/parser_testcases/patterns/const_patterns_binary.dart.expect
index a05dea6..746fdea 100644
--- a/pkg/front_end/parser_testcases/patterns/const_patterns_binary.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/const_patterns_binary.dart.expect
@@ -284,7 +284,7 @@
       beginFieldInitializer(=)
         handleLiteralInt(1)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, const, 1, const, ;)
+    endTopLevelFields(null, null, null, null, null, const, 1, const, ;)
   endTopLevelDeclaration(class)
   beginMetadataStar(class)
   endMetadataStar(0)
diff --git a/pkg/front_end/parser_testcases/patterns/const_patterns_binary.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/const_patterns_binary.dart.intertwined.expect
index e05f43c..2b85abc 100644
--- a/pkg/front_end/parser_testcases/patterns/const_patterns_binary.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/const_patterns_binary.dart.intertwined.expect
@@ -51,7 +51,7 @@
                   parseLiteralInt(=)
                     listener: handleLiteralInt(1)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, const, 1, const, ;)
+        listener: endTopLevelFields(null, null, null, null, null, const, 1, const, ;)
   listener: endTopLevelDeclaration(class)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclaration_topLevel.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclaration_topLevel.dart.expect
index 0a6de79..2463817 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclaration_topLevel.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclaration_topLevel.dart.expect
@@ -18,6 +18,6 @@
           handleLiteralInt(1)
         endRecordLiteral((, 2, null)
       endFieldInitializer(=, ;)
-    endTopLevelFields(null, null, null, null, var, 1, var, ;)
+    endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclaration_topLevel.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclaration_topLevel.dart.intertwined.expect
index 34ea8ed..772e028 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclaration_topLevel.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclaration_topLevel.dart.intertwined.expect
@@ -48,7 +48,7 @@
                       ensureCloseParen(1, ()
                       listener: endRecordLiteral((, 2, null)
           listener: endFieldInitializer(=, ;)
-        listener: endTopLevelFields(null, null, null, null, var, 1, var, ;)
+        listener: endTopLevelFields(null, null, null, null, null, var, 1, var, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(var)
   listener: endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/record/metadata.dart.expect b/pkg/front_end/parser_testcases/record/metadata.dart.expect
index 5e14336..561c61d 100644
--- a/pkg/front_end/parser_testcases/record/metadata.dart.expect
+++ b/pkg/front_end/parser_testcases/record/metadata.dart.expect
@@ -47,7 +47,7 @@
       handleNoType())
       handleIdentifier(a, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, a, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   endTopLevelDeclaration(@)
   beginMetadataStar(@)
     beginMetadata(@)
@@ -75,7 +75,7 @@
       handleNoType())
       handleIdentifier(a, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, a, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   endTopLevelDeclaration(@)
   beginMetadataStar(@)
     beginMetadata(@)
@@ -103,7 +103,7 @@
       handleNoType())
       handleIdentifier(a, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, a, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   endTopLevelDeclaration(@)
   beginMetadataStar(@)
     beginMetadata(@)
@@ -134,7 +134,7 @@
       endRecordType((, null, 2, false)
       handleIdentifier(a, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, (, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, (, ;)
   endTopLevelDeclaration(@)
   beginMetadataStar(@)
     beginMetadata(@)
@@ -165,7 +165,7 @@
       endRecordType((, null, 2, false)
       handleIdentifier(a, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, (, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, (, ;)
   endTopLevelDeclaration(@)
   beginMetadataStar(@)
     beginMetadata(@)
@@ -196,7 +196,7 @@
       endRecordType((, null, 2, false)
       handleIdentifier(a, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, (, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, (, ;)
   endTopLevelDeclaration(@)
   beginMetadataStar(@)
     beginMetadata(@)
@@ -219,7 +219,7 @@
       endRecordType((, null, 1, false)
       handleIdentifier(a, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, (, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, (, ;)
   endTopLevelDeclaration(@)
   beginMetadataStar(@)
     beginMetadata(@)
@@ -278,6 +278,6 @@
       handleNoType())
       handleIdentifier(a, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, a, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   endTopLevelDeclaration()
 endCompilationUnit(9, )
diff --git a/pkg/front_end/parser_testcases/record/metadata.dart.intertwined.expect b/pkg/front_end/parser_testcases/record/metadata.dart.intertwined.expect
index 89d55fb..0a39c63 100644
--- a/pkg/front_end/parser_testcases/record/metadata.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/record/metadata.dart.intertwined.expect
@@ -56,7 +56,7 @@
           listener: handleIdentifier(a, topLevelVariableDeclaration)
         parseFieldInitializerOpt(a, a, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, a, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   listener: endTopLevelDeclaration(@)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -116,7 +116,7 @@
           listener: handleIdentifier(a, topLevelVariableDeclaration)
         parseFieldInitializerOpt(a, a, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, a, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   listener: endTopLevelDeclaration(@)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -176,7 +176,7 @@
           listener: handleIdentifier(a, topLevelVariableDeclaration)
         parseFieldInitializerOpt(a, a, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, a, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   listener: endTopLevelDeclaration(@)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -222,7 +222,7 @@
           listener: handleIdentifier(a, topLevelVariableDeclaration)
         parseFieldInitializerOpt(a, a, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, (, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, (, ;)
   listener: endTopLevelDeclaration(@)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -268,7 +268,7 @@
           listener: handleIdentifier(a, topLevelVariableDeclaration)
         parseFieldInitializerOpt(a, a, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, (, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, (, ;)
   listener: endTopLevelDeclaration(@)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -314,7 +314,7 @@
           listener: handleIdentifier(a, topLevelVariableDeclaration)
         parseFieldInitializerOpt(a, a, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, (, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, (, ;)
   listener: endTopLevelDeclaration(@)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -350,7 +350,7 @@
           listener: handleIdentifier(a, topLevelVariableDeclaration)
         parseFieldInitializerOpt(a, a, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, (, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, (, ;)
   listener: endTopLevelDeclaration(@)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -479,7 +479,7 @@
           listener: handleIdentifier(a, topLevelVariableDeclaration)
         parseFieldInitializerOpt(a, a, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, a, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, a, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(@)
   listener: endCompilationUnit(9, )
diff --git a/pkg/front_end/parser_testcases/record/nested_generics_with_records.dart.expect b/pkg/front_end/parser_testcases/record/nested_generics_with_records.dart.expect
index 382a6570..cd1a23d 100644
--- a/pkg/front_end/parser_testcases/record/nested_generics_with_records.dart.expect
+++ b/pkg/front_end/parser_testcases/record/nested_generics_with_records.dart.expect
@@ -27,7 +27,7 @@
       handleType(List, null)
       handleIdentifier(l1, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   endTopLevelDeclaration(List)
   beginMetadataStar(List)
   endMetadataStar(0)
@@ -61,7 +61,7 @@
       handleType(List, null)
       handleIdentifier(l2, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   endTopLevelDeclaration(List)
   beginMetadataStar(List)
   endMetadataStar(0)
@@ -99,7 +99,7 @@
       handleType(List, null)
       handleIdentifier(l3, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   endTopLevelDeclaration(List)
   beginMetadataStar(List)
   endMetadataStar(0)
@@ -141,7 +141,7 @@
       handleType(List, null)
       handleIdentifier(l4, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   endTopLevelDeclaration(List)
   beginMetadataStar(List)
   endMetadataStar(0)
@@ -187,7 +187,7 @@
       handleType(List, null)
       handleIdentifier(l5, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   endTopLevelDeclaration(List)
   beginMetadataStar(List)
   endMetadataStar(0)
@@ -237,7 +237,7 @@
       handleType(List, null)
       handleIdentifier(l6, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   endTopLevelDeclaration(List)
   beginMetadataStar(List)
   endMetadataStar(0)
@@ -291,7 +291,7 @@
       handleType(List, null)
       handleIdentifier(l7, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   endTopLevelDeclaration(List)
   beginMetadataStar(List)
   endMetadataStar(0)
@@ -349,7 +349,7 @@
       handleType(List, null)
       handleIdentifier(l8, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   endTopLevelDeclaration(List)
   beginMetadataStar(List)
   endMetadataStar(0)
@@ -411,7 +411,7 @@
       handleType(List, null)
       handleIdentifier(l9, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   endTopLevelDeclaration(List)
   beginMetadataStar(List)
   endMetadataStar(0)
@@ -477,6 +477,6 @@
       handleType(List, null)
       handleIdentifier(l10, topLevelVariableDeclaration)
       handleNoFieldInitializer(;)
-    endTopLevelFields(null, null, null, null, null, 1, List, ;)
+    endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   endTopLevelDeclaration()
 endCompilationUnit(10, )
diff --git a/pkg/front_end/parser_testcases/record/nested_generics_with_records.dart.intertwined.expect b/pkg/front_end/parser_testcases/record/nested_generics_with_records.dart.intertwined.expect
index 599d870..fdc22b1 100644
--- a/pkg/front_end/parser_testcases/record/nested_generics_with_records.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/record/nested_generics_with_records.dart.intertwined.expect
@@ -42,7 +42,7 @@
           listener: handleIdentifier(l1, topLevelVariableDeclaration)
         parseFieldInitializerOpt(l1, l1, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   listener: endTopLevelDeclaration(List)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -89,7 +89,7 @@
           listener: handleIdentifier(l2, topLevelVariableDeclaration)
         parseFieldInitializerOpt(l2, l2, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   listener: endTopLevelDeclaration(List)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -141,7 +141,7 @@
           listener: handleIdentifier(l3, topLevelVariableDeclaration)
         parseFieldInitializerOpt(l3, l3, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   listener: endTopLevelDeclaration(List)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -198,7 +198,7 @@
           listener: handleIdentifier(l4, topLevelVariableDeclaration)
         parseFieldInitializerOpt(l4, l4, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   listener: endTopLevelDeclaration(List)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -260,7 +260,7 @@
           listener: handleIdentifier(l5, topLevelVariableDeclaration)
         parseFieldInitializerOpt(l5, l5, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   listener: endTopLevelDeclaration(List)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -327,7 +327,7 @@
           listener: handleIdentifier(l6, topLevelVariableDeclaration)
         parseFieldInitializerOpt(l6, l6, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   listener: endTopLevelDeclaration(List)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -399,7 +399,7 @@
           listener: handleIdentifier(l7, topLevelVariableDeclaration)
         parseFieldInitializerOpt(l7, l7, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   listener: endTopLevelDeclaration(List)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -476,7 +476,7 @@
           listener: handleIdentifier(l8, topLevelVariableDeclaration)
         parseFieldInitializerOpt(l8, l8, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   listener: endTopLevelDeclaration(List)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -558,7 +558,7 @@
           listener: handleIdentifier(l9, topLevelVariableDeclaration)
         parseFieldInitializerOpt(l9, l9, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   listener: endTopLevelDeclaration(List)
   parseTopLevelDeclarationImpl(;, DirectiveContext(DirectiveState.Declarations))
     parseMetadataStar(;)
@@ -645,7 +645,7 @@
           listener: handleIdentifier(l10, topLevelVariableDeclaration)
         parseFieldInitializerOpt(l10, l10, null, null, null, null, null, DeclarationKind.TopLevel, null)
           listener: handleNoFieldInitializer(;)
-        listener: endTopLevelFields(null, null, null, null, null, 1, List, ;)
+        listener: endTopLevelFields(null, null, null, null, null, null, 1, List, ;)
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(List)
   listener: endCompilationUnit(10, )
diff --git a/pkg/front_end/presubmit_helper.dart b/pkg/front_end/presubmit_helper.dart
index 441afef..fb9fb4d 100644
--- a/pkg/front_end/presubmit_helper.dart
+++ b/pkg/front_end/presubmit_helper.dart
@@ -76,7 +76,7 @@
   "pkg/_fe_analyzer_shared/lib/src/parser/listener.dart",
   "pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart",
   "pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart",
-  "pkg/front_end/lib/src/fasta/fasta_codes_cfe_generated.dart",
+  "pkg/front_end/lib/src/fasta/codes/fasta_codes_cfe_generated.dart",
   "pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart",
   "pkg/front_end/messages.yaml",
   "pkg/front_end/test/generated_files_up_to_date_git_test.dart",
diff --git a/pkg/front_end/test/explicit_creation_impl.dart b/pkg/front_end/test/explicit_creation_impl.dart
index eb97817..66c5596 100644
--- a/pkg/front_end/test/explicit_creation_impl.dart
+++ b/pkg/front_end/test/explicit_creation_impl.dart
@@ -12,7 +12,7 @@
 import 'package:front_end/src/fasta/builder/declaration_builders.dart'
     show TypeDeclarationBuilder;
 import 'package:front_end/src/fasta/builder/type_builder.dart' show TypeBuilder;
-import 'package:front_end/src/fasta/fasta_codes.dart' as fasta
+import 'package:front_end/src/fasta/codes/fasta_codes.dart' as fasta
     show templateUnspecified;
 import 'package:front_end/src/fasta/kernel/body_builder.dart' show BodyBuilder;
 import 'package:front_end/src/fasta/kernel/constness.dart' show Constness;
diff --git a/pkg/front_end/test/fasta/generator_to_string_test.dart b/pkg/front_end/test/fasta/generator_to_string_test.dart
index 1e3b621..76c87d0 100644
--- a/pkg/front_end/test/fasta/generator_to_string_test.dart
+++ b/pkg/front_end/test/fasta/generator_to_string_test.dart
@@ -10,10 +10,10 @@
 import 'package:front_end/src/fasta/builder/declaration_builders.dart';
 import 'package:front_end/src/fasta/builder/prefix_builder.dart';
 import 'package:front_end/src/fasta/builder/type_builder.dart';
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
+    show Message, templateUnspecified;
 import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
 import 'package:front_end/src/fasta/dill/dill_target.dart' show DillTarget;
-import 'package:front_end/src/fasta/fasta_codes.dart'
-    show Message, templateUnspecified;
 import 'package:front_end/src/fasta/kernel/body_builder.dart' show BodyBuilder;
 import 'package:front_end/src/fasta/kernel/body_builder_context.dart';
 import 'package:front_end/src/fasta/kernel/expression_generator.dart';
diff --git a/pkg/front_end/test/fasta/super_mixins_test.dart b/pkg/front_end/test/fasta/super_mixins_test.dart
index 2c3c65d..1fd0d18 100644
--- a/pkg/front_end/test/fasta/super_mixins_test.dart
+++ b/pkg/front_end/test/fasta/super_mixins_test.dart
@@ -10,20 +10,14 @@
         DiagnosticMessageHandler,
         getMessageCodeObject,
         getMessageArguments;
-
 import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
-
 import 'package:async_helper/async_helper.dart' show asyncTest;
-
 import 'package:expect/expect.dart' show Expect;
-
 import "package:front_end/src/api_prototype/compiler_options.dart"
     show CompilerOptions;
-
-import 'package:front_end/src/testing/compiler_common.dart' show compileScript;
-
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show codeSuperclassHasNoMethod;
+import 'package:front_end/src/testing/compiler_common.dart' show compileScript;
 
 const String testSource = '''
 //@dart=2.19
diff --git a/pkg/front_end/test/fasta/tool_git_test.dart b/pkg/front_end/test/fasta/tool_git_test.dart
index 092e026..f57bb1f 100644
--- a/pkg/front_end/test/fasta/tool_git_test.dart
+++ b/pkg/front_end/test/fasta/tool_git_test.dart
@@ -7,8 +7,7 @@
 import "dart:io";
 
 import "package:expect/expect.dart";
-
-import "package:front_end/src/fasta/fasta_codes.dart"
+import "package:front_end/src/fasta/codes/fasta_codes.dart"
     show messageFastaUsageShort;
 
 const String toolPath = "pkg/front_end/tool/fasta";
diff --git a/pkg/front_end/test/incremental_load_from_invalid_dill_test.dart b/pkg/front_end/test/incremental_load_from_invalid_dill_test.dart
index 8280c8d..4e84c7e 100644
--- a/pkg/front_end/test/incremental_load_from_invalid_dill_test.dart
+++ b/pkg/front_end/test/incremental_load_from_invalid_dill_test.dart
@@ -6,46 +6,32 @@
 
 import 'package:_fe_analyzer_shared/src/messages/diagnostic_message.dart'
     show DiagnosticMessage, getMessageCodeObject;
-
 import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
-
 import 'package:expect/expect.dart' show Expect;
-
 import 'package:front_end/src/api_prototype/compiler_options.dart'
     show CompilerOptions;
-
 import 'package:front_end/src/api_prototype/experimental_flags.dart'
     show ExperimentalFlag;
-
 import 'package:front_end/src/api_prototype/incremental_kernel_generator.dart'
     show IncrementalCompilerResult;
-
 import "package:front_end/src/api_prototype/memory_file_system.dart"
     show MemoryFileSystem;
-
 import 'package:front_end/src/base/nnbd_mode.dart' show NnbdMode;
-
 import 'package:front_end/src/base/processed_options.dart'
     show ProcessedOptions;
-
 import 'package:front_end/src/compute_platform_binaries_location.dart'
     show computePlatformBinariesLocation;
-
-import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
-
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show
         Code,
         codeInitializeFromDillNotSelfContained,
         codeInitializeFromDillNotSelfContainedNoDump,
         codeInitializeFromDillUnknownProblem,
         codeInitializeFromDillUnknownProblemNoDump;
-
+import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
 import 'package:front_end/src/fasta/incremental_compiler.dart'
     show IncrementalCompiler, RecorderForTesting;
-
 import 'package:front_end/src/fasta/kernel/utils.dart' show serializeComponent;
-
 import 'package:kernel/kernel.dart'
     show Component, Library, NonNullableByDefaultCompiledMode;
 
diff --git a/pkg/front_end/test/incremental_suite.dart b/pkg/front_end/test/incremental_suite.dart
index dcd8331..d207742 100644
--- a/pkg/front_end/test/incremental_suite.dart
+++ b/pkg/front_end/test/incremental_suite.dart
@@ -2,72 +2,49 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:developer' show debugger;
-
 import 'dart:convert' show jsonDecode;
-
+import 'dart:developer' show debugger;
 import 'dart:io' show Directory, File;
 
 import 'package:_fe_analyzer_shared/src/messages/diagnostic_message.dart'
     show DiagnosticMessage, getMessageCodeObject;
-
-import 'package:_fe_analyzer_shared/src/util/colors.dart' as colors;
-
 import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
-
+import 'package:_fe_analyzer_shared/src/util/colors.dart' as colors;
 import 'package:compiler/src/kernel/dart2js_target.dart' show Dart2jsTarget;
-
 import "package:dev_compiler/src/kernel/target.dart" show DevCompilerTarget;
-
 import 'package:expect/expect.dart' show Expect;
-
 import 'package:front_end/src/api_prototype/compiler_options.dart'
     show CompilerOptions, parseExperimentalArguments, parseExperimentalFlags;
-
 import 'package:front_end/src/api_prototype/experimental_flags.dart'
     show ExperimentalFlag;
 import 'package:front_end/src/api_prototype/incremental_kernel_generator.dart'
     show IncrementalCompilerResult;
 import "package:front_end/src/api_prototype/memory_file_system.dart"
     show MemoryFileSystem, MemoryFileSystemEntity;
-
 import 'package:front_end/src/base/nnbd_mode.dart' show NnbdMode;
-
 import 'package:front_end/src/base/processed_options.dart'
     show ProcessedOptions;
-
 import 'package:front_end/src/compute_platform_binaries_location.dart'
     show computePlatformBinariesLocation, computePlatformDillName;
-
-import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
-
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show DiagnosticMessageFromJson, FormattedMessage;
-
+import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
 import 'package:front_end/src/fasta/incremental_compiler.dart'
     show AdvancedInvalidationResult, IncrementalCompiler, RecorderForTesting;
-
 import 'package:front_end/src/fasta/incremental_serializer.dart'
     show IncrementalSerializer;
-
 import 'package:front_end/src/fasta/kernel/utils.dart' show ByteSink;
-
 import 'package:kernel/ast.dart';
-
 import 'package:kernel/binary/ast_from_binary.dart' show BinaryBuilder;
-
 import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter;
-
 import 'package:kernel/class_hierarchy.dart'
     show ClassHierarchy, ClosedWorldClassHierarchy, ForTestingClassInfo;
-
 import 'package:kernel/src/equivalence.dart'
     show
         EquivalenceResult,
         EquivalenceStrategy,
         EquivalenceVisitor,
         checkEquivalence;
-
 import 'package:kernel/target/targets.dart'
     show
         LateLowering,
@@ -76,10 +53,8 @@
         TargetFlags,
         TestTargetFlags,
         TestTargetWrapper;
-
 import 'package:kernel/text/ast_to_text.dart'
     show NameSystem, Printer, componentToString;
-
 import "package:testing/testing.dart"
     show
         Chain,
@@ -89,20 +64,15 @@
         Result,
         Step,
         TestDescription;
-
 import "package:vm/modular/target/vm.dart" show VmTarget;
-
 import "package:yaml/yaml.dart" show YamlMap, loadYamlNode;
 
 import 'binary_md_dill_reader.dart' show DillComparer;
-
 import 'fasta/suite_utils.dart';
 import 'fasta/testing/suite.dart';
 import "incremental_utils.dart" as util;
-
 import 'test_utils.dart';
 import 'testing_utils.dart' show checkEnvironment;
-
 import 'utils/io_utils.dart' show computeRepoDir;
 import 'utils/values.dart';
 
diff --git a/pkg/front_end/test/kernel_generator_test.dart b/pkg/front_end/test/kernel_generator_test.dart
index 4c0bb6d..0edd7e0 100644
--- a/pkg/front_end/test/kernel_generator_test.dart
+++ b/pkg/front_end/test/kernel_generator_test.dart
@@ -2,9 +2,20 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+import 'package:front_end/src/api_prototype/front_end.dart'
+    show CompilerOptions, DiagnosticMessage;
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
+    show FormattedMessage, messageMissingMain;
+import 'package:front_end/src/fasta/kernel/utils.dart' show serializeComponent;
+import 'package:front_end/src/testing/compiler_common.dart'
+    show
+        compileScript,
+        compileUnit,
+        findLibrary,
+        invalidCoreLibsSpecUri,
+        isDartCoreLibrary;
 import 'package:kernel/ast.dart'
     show EmptyStatement, Component, ReturnStatement, StaticInvocation;
-
 import 'package:test/test.dart'
     show
         expect,
@@ -17,22 +28,6 @@
         same,
         test;
 
-import 'package:front_end/src/api_prototype/front_end.dart'
-    show CompilerOptions, DiagnosticMessage;
-
-import 'package:front_end/src/fasta/fasta_codes.dart'
-    show FormattedMessage, messageMissingMain;
-
-import 'package:front_end/src/fasta/kernel/utils.dart' show serializeComponent;
-
-import 'package:front_end/src/testing/compiler_common.dart'
-    show
-        compileScript,
-        compileUnit,
-        findLibrary,
-        invalidCoreLibsSpecUri,
-        isDartCoreLibrary;
-
 void main() {
   group('kernelForProgram', () {
     test('compiler fails if it cannot find sdk sources', () async {
diff --git a/pkg/front_end/test/lint_suite.dart b/pkg/front_end/test/lint_suite.dart
index ed8a68a..7a458a2 100644
--- a/pkg/front_end/test/lint_suite.dart
+++ b/pkg/front_end/test/lint_suite.dart
@@ -117,9 +117,8 @@
             new ImportsTwiceLintListener(),
           );
 
-          Uri apiUnstableUri =
-              Uri.base.resolve("pkg/front_end/lib/src/api_unstable/");
-          if (!entity.uri.toString().startsWith(apiUnstableUri.toString())) {
+          String apiUnstableUri = "pkg/front_end/lib/src/api_unstable/";
+          if (!entity.uri.toString().contains(apiUnstableUri.toString())) {
             yield new LintTestDescription(
               "$baseName/Exports",
               entity.uri,
@@ -242,6 +241,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
diff --git a/pkg/front_end/test/lint_test.status b/pkg/front_end/test/lint_test.status
index 298e312..2c8f533 100644
--- a/pkg/front_end/test/lint_test.status
+++ b/pkg/front_end/test/lint_test.status
@@ -13,7 +13,7 @@
 front_end/lib/src/api_prototype/static_weak_references/Exports: Fail
 front_end/lib/src/api_prototype/terminal_color_support/Exports: Fail
 front_end/lib/src/api_prototype/try_constant_evaluator/Exports: Fail
-front_end/lib/src/fasta/fasta_codes/Exports: Fail
+front_end/lib/src/fasta/codes/fasta_codes/Exports: Fail
 front_end/lib/src/fasta/messages/Exports: Fail
 front_end/lib/src/testing/id_testing_helper/Exports: Fail
 kernel/lib/ast/Exports: Fail
diff --git a/pkg/front_end/test/messages_json_test.dart b/pkg/front_end/test/messages_json_test.dart
index b86e4b9..52340f8 100644
--- a/pkg/front_end/test/messages_json_test.dart
+++ b/pkg/front_end/test/messages_json_test.dart
@@ -4,10 +4,8 @@
 
 import 'package:_fe_analyzer_shared/src/messages/diagnostic_message.dart'
     show DiagnosticMessage, getMessageUri;
-
 import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
-
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show
         Code,
         DiagnosticMessageFromJson,
diff --git a/pkg/front_end/test/parser_test_listener.dart b/pkg/front_end/test/parser_test_listener.dart
index c39ec1b..f24bf72 100644
--- a/pkg/front_end/test/parser_test_listener.dart
+++ b/pkg/front_end/test/parser_test_listener.dart
@@ -2105,6 +2105,7 @@
 
   @override
   void endTopLevelFields(
+      Token? augmentToken,
       Token? externalToken,
       Token? staticToken,
       Token? covariantToken,
@@ -2114,6 +2115,7 @@
       Token beginToken,
       Token endToken) {
     indent--;
+    seen(augmentToken);
     seen(externalToken);
     seen(staticToken);
     seen(covariantToken);
@@ -2122,6 +2124,7 @@
     seen(beginToken);
     seen(endToken);
     doPrint('endTopLevelFields('
+        '$augmentToken, '
         '$externalToken, '
         '$staticToken, '
         '$covariantToken, '
diff --git a/pkg/front_end/test/parser_test_parser.dart b/pkg/front_end/test/parser_test_parser.dart
index 2be9d03..b95868b 100644
--- a/pkg/front_end/test/parser_test_parser.dart
+++ b/pkg/front_end/test/parser_test_parser.dart
@@ -19,7 +19,7 @@
 import 'package:_fe_analyzer_shared/src/parser/token_stream_rewriter.dart';
 import 'package:_fe_analyzer_shared/src/parser/type_info.dart';
 import 'package:_fe_analyzer_shared/src/scanner/token.dart';
-import 'package:front_end/src/fasta/fasta_codes.dart' as codes;
+import 'package:front_end/src/fasta/codes/fasta_codes.dart' as codes;
 import 'package:front_end/src/fasta/source/diet_parser.dart'
     show useImplicitCreationExpressionInCfe;
 
diff --git a/pkg/front_end/test/parser_test_parser_creator.dart b/pkg/front_end/test/parser_test_parser_creator.dart
index 91dcc56..394ab68 100644
--- a/pkg/front_end/test/parser_test_parser_creator.dart
+++ b/pkg/front_end/test/parser_test_parser_creator.dart
@@ -6,8 +6,8 @@
 import 'dart:typed_data';
 
 import 'package:_fe_analyzer_shared/src/parser/parser.dart';
-import 'package:_fe_analyzer_shared/src/scanner/utf8_bytes_scanner.dart';
 import 'package:_fe_analyzer_shared/src/scanner/token.dart';
+import 'package:_fe_analyzer_shared/src/scanner/utf8_bytes_scanner.dart';
 import 'package:dart_style/dart_style.dart' show DartFormatter;
 
 import 'utils/io_utils.dart' show computeRepoDirUri;
@@ -55,7 +55,7 @@
 import 'package:_fe_analyzer_shared/src/parser/token_stream_rewriter.dart';
 import 'package:_fe_analyzer_shared/src/parser/type_info.dart';
 import 'package:_fe_analyzer_shared/src/scanner/token.dart';
-import 'package:front_end/src/fasta/fasta_codes.dart' as codes;
+import 'package:front_end/src/fasta/codes/fasta_codes.dart' as codes;
 import 'package:front_end/src/fasta/source/diet_parser.dart'
     show useImplicitCreationExpressionInCfe;
 
diff --git a/pkg/front_end/test/scanner_fasta_test.dart b/pkg/front_end/test/scanner_fasta_test.dart
index 5e6a832..cc150f8 100644
--- a/pkg/front_end/test/scanner_fasta_test.dart
+++ b/pkg/front_end/test/scanner_fasta_test.dart
@@ -6,14 +6,14 @@
 import 'dart:typed_data' show Uint8List;
 
 import 'package:_fe_analyzer_shared/src/scanner/error_token.dart' as fasta;
+import 'package:_fe_analyzer_shared/src/scanner/errors.dart';
 import 'package:_fe_analyzer_shared/src/scanner/scanner.dart'
     as usedForFuzzTesting;
 import 'package:_fe_analyzer_shared/src/scanner/scanner.dart';
 import 'package:_fe_analyzer_shared/src/scanner/token.dart' as fasta;
-import 'package:_fe_analyzer_shared/src/scanner/token_constants.dart' as fasta;
-import 'package:_fe_analyzer_shared/src/scanner/errors.dart';
 import 'package:_fe_analyzer_shared/src/scanner/token.dart';
-import 'package:front_end/src/fasta/fasta_codes.dart';
+import 'package:_fe_analyzer_shared/src/scanner/token_constants.dart' as fasta;
+import 'package:front_end/src/fasta/codes/fasta_codes.dart';
 import 'package:test/test.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
diff --git a/pkg/front_end/test/src/base/processed_options_test.dart b/pkg/front_end/test/src/base/processed_options_test.dart
index 512751f..99a06c4 100644
--- a/pkg/front_end/test/src/base/processed_options_test.dart
+++ b/pkg/front_end/test/src/base/processed_options_test.dart
@@ -7,9 +7,9 @@
 import 'package:front_end/src/api_prototype/compiler_options.dart';
 import 'package:front_end/src/api_prototype/memory_file_system.dart';
 import 'package:front_end/src/base/processed_options.dart';
+import 'package:front_end/src/fasta/codes/fasta_codes.dart';
 import 'package:front_end/src/fasta/compiler_context.dart';
 import 'package:front_end/src/fasta/util/bytes_sink.dart' show BytesSink;
-import 'package:front_end/src/fasta/fasta_codes.dart';
 import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter;
 import 'package:kernel/kernel.dart'
     show
diff --git a/pkg/front_end/test/type_labeler_test.dart b/pkg/front_end/test/type_labeler_test.dart
index eb5b5d0..b3714a9 100644
--- a/pkg/front_end/test/type_labeler_test.dart
+++ b/pkg/front_end/test/type_labeler_test.dart
@@ -2,11 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:kernel/ast.dart';
-
-import 'package:front_end/src/fasta/kernel/type_labeler.dart';
-
 import 'package:expect/expect.dart';
+import 'package:front_end/src/fasta/codes/type_labeler.dart';
+import 'package:kernel/ast.dart';
 
 void main() {
   void check(Map<Node, String> expectations, int bulletCount) {
diff --git a/pkg/front_end/testing.json b/pkg/front_end/testing.json
index f48b028..1b400e4 100644
--- a/pkg/front_end/testing.json
+++ b/pkg/front_end/testing.json
@@ -236,7 +236,7 @@
       "exclude": [
         "kernel/lib/transformations/.*\\.dart$",
         "_fe_analyzer_shared/lib/src/messages/codes_generated\\.dart$",
-        "front_end/lib/src/fasta/fasta_codes_cfe_generated\\.dart$"
+        "front_end/lib/src/fasta/codes/fasta_codes_cfe_generated\\.dart$"
       ]
     },
     {
@@ -268,7 +268,7 @@
       ],
       "exclude": [
         "_fe_analyzer_shared/lib/src/messages/codes_generated\\.dart$",
-        "front_end/lib/src/fasta/fasta_codes_cfe_generated\\.dart$"
+        "front_end/lib/src/fasta/codes/fasta_codes_cfe_generated\\.dart$"
       ]
     },
     {
diff --git a/pkg/front_end/tool/_fasta/additional_targets_test.dart b/pkg/front_end/tool/_fasta/additional_targets_test.dart
index dabba4c..cafa3b4 100644
--- a/pkg/front_end/tool/_fasta/additional_targets_test.dart
+++ b/pkg/front_end/tool/_fasta/additional_targets_test.dart
@@ -4,12 +4,10 @@
 
 library fasta.tool.additional_targets_test;
 
-import 'package:kernel/target/targets.dart' show targets;
-
 import 'package:front_end/src/base/command_line_options.dart';
-
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show MessageCode, messageFastaUsageLong;
+import 'package:kernel/target/targets.dart' show targets;
 
 import 'additional_targets.dart' show installAdditionalTargets;
 
diff --git a/pkg/front_end/tool/_fasta/command_line.dart b/pkg/front_end/tool/_fasta/command_line.dart
index 23208f8..cca99fa 100644
--- a/pkg/front_end/tool/_fasta/command_line.dart
+++ b/pkg/front_end/tool/_fasta/command_line.dart
@@ -25,14 +25,14 @@
     show ProcessedOptions;
 import 'package:front_end/src/compute_platform_binaries_location.dart'
     show computePlatformBinariesLocation, computePlatformDillName;
-import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show
         Message,
         PlainAndColorizedString,
         messageFastaUsageLong,
         messageFastaUsageShort,
         templateUnspecified;
+import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
 import 'package:front_end/src/fasta/kernel/macro/offset_checker.dart';
 import 'package:front_end/src/fasta/problems.dart' show DebugAbort;
 import 'package:front_end/src/isolate_macro_serializer.dart';
diff --git a/pkg/front_end/tool/_fasta/entry_points.dart b/pkg/front_end/tool/_fasta/entry_points.dart
index 63b6205..317e8ab 100644
--- a/pkg/front_end/tool/_fasta/entry_points.dart
+++ b/pkg/front_end/tool/_fasta/entry_points.dart
@@ -17,10 +17,10 @@
 import 'package:front_end/src/base/command_line_options.dart';
 import 'package:front_end/src/base/processed_options.dart'
     show ProcessedOptions;
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
+    show LocatedMessage, codeInternalProblemVerificationError;
 import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
 import 'package:front_end/src/fasta/dill/dill_target.dart' show DillTarget;
-import 'package:front_end/src/fasta/fasta_codes.dart'
-    show LocatedMessage, codeInternalProblemVerificationError;
 import 'package:front_end/src/fasta/get_dependencies.dart' show getDependencies;
 import 'package:front_end/src/fasta/incremental_compiler.dart'
     show IncrementalCompiler;
diff --git a/pkg/front_end/tool/_fasta/generate_messages_lib.dart b/pkg/front_end/tool/_fasta/generate_messages_lib.dart
index 84f2c4a..a8911dd 100644
--- a/pkg/front_end/tool/_fasta/generate_messages_lib.dart
+++ b/pkg/front_end/tool/_fasta/generate_messages_lib.dart
@@ -6,7 +6,6 @@
 
 import "package:_fe_analyzer_shared/src/messages/severity.dart"
     show severityEnumNames;
-
 import 'package:yaml/yaml.dart' show loadYaml;
 
 Uri computeSharedGeneratedFile(Uri repoDir) {
@@ -15,8 +14,8 @@
 }
 
 Uri computeCfeGeneratedFile(Uri repoDir) {
-  return repoDir
-      .resolve("pkg/front_end/lib/src/fasta/fasta_codes_cfe_generated.dart");
+  return repoDir.resolve(
+      "pkg/front_end/lib/src/fasta/codes/fasta_codes_cfe_generated.dart");
 }
 
 class Messages {
diff --git a/pkg/front_end/tool/dart_doctest_impl.dart b/pkg/front_end/tool/dart_doctest_impl.dart
index 18f153a..35d642b 100644
--- a/pkg/front_end/tool/dart_doctest_impl.dart
+++ b/pkg/front_end/tool/dart_doctest_impl.dart
@@ -8,24 +8,17 @@
 import 'dart:isolate';
 import 'dart:typed_data';
 
-import 'package:_fe_analyzer_shared/src/parser/parser.dart' show Parser;
-
 import 'package:_fe_analyzer_shared/src/messages/codes.dart' as codes;
-
 import 'package:_fe_analyzer_shared/src/parser/async_modifier.dart'
     show AsyncModifier;
-
 import 'package:_fe_analyzer_shared/src/parser/forwarding_listener.dart'
     show NullListener;
-
+import 'package:_fe_analyzer_shared/src/parser/parser.dart' show Parser;
 import 'package:_fe_analyzer_shared/src/scanner/scanner.dart'
     show ScannerConfiguration;
-
 import 'package:_fe_analyzer_shared/src/scanner/token.dart';
-
 import 'package:_fe_analyzer_shared/src/scanner/utf8_bytes_scanner.dart'
     show Utf8BytesScanner;
-
 import 'package:front_end/src/api_prototype/compiler_options.dart';
 import 'package:front_end/src/api_prototype/file_system.dart';
 import 'package:front_end/src/api_prototype/incremental_kernel_generator.dart';
@@ -33,17 +26,15 @@
 import 'package:front_end/src/api_prototype/standard_file_system.dart';
 import 'package:front_end/src/base/processed_options.dart';
 import 'package:front_end/src/fasta/builder/library_builder.dart';
+import 'package:front_end/src/fasta/codes/fasta_codes.dart';
 import 'package:front_end/src/fasta/combinator.dart';
-
 import 'package:front_end/src/fasta/command_line_reporting.dart'
     as command_line_reporting;
-
 import 'package:front_end/src/fasta/compiler_context.dart';
 // ignore: import_of_legacy_library_into_null_safe
 import 'package:front_end/src/fasta/dill/dill_library_builder.dart';
 // ignore: import_of_legacy_library_into_null_safe
 import 'package:front_end/src/fasta/dill/dill_target.dart';
-import 'package:front_end/src/fasta/fasta_codes.dart';
 import 'package:front_end/src/fasta/hybrid_file_system.dart';
 // ignore: import_of_legacy_library_into_null_safe
 import 'package:front_end/src/fasta/incremental_compiler.dart';
diff --git a/pkg/front_end/tool/perf_common.dart b/pkg/front_end/tool/perf_common.dart
index 08d5c93..a32002c 100644
--- a/pkg/front_end/tool/perf_common.dart
+++ b/pkg/front_end/tool/perf_common.dart
@@ -12,7 +12,7 @@
 import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
 import 'package:front_end/src/api_prototype/terminal_color_support.dart'
     show printDiagnosticMessage;
-import 'package:front_end/src/fasta/fasta_codes.dart' as fastaCodes;
+import 'package:front_end/src/fasta/codes/fasta_codes.dart' as fastaCodes;
 import 'package:kernel/target/targets.dart' show Target, TargetFlags;
 import 'package:vm/modular/target/flutter.dart' show FlutterTarget;
 import 'package:vm/modular/target/vm.dart' show VmTarget;
diff --git a/pkg/kernel/problems.md b/pkg/kernel/problems.md
index b8b1a44..bf9c409 100644
--- a/pkg/kernel/problems.md
+++ b/pkg/kernel/problems.md
@@ -27,4 +27,4 @@
 
 These values are subject to change, but this file will be updated along with any
 such changes. On the code-side these are defined in
-`package:front_end/src/fasta/fasta_codes.dart`.
+`package:front_end/src/fasta/codes/fasta_codes.dart`.
diff --git a/pkg/linter/lib/src/extensions.dart b/pkg/linter/lib/src/extensions.dart
index 20f03ef..572281e 100644
--- a/pkg/linter/lib/src/extensions.dart
+++ b/pkg/linter/lib/src/extensions.dart
@@ -61,34 +61,6 @@
     var element = parent.declaredElement;
     return element != null && element.hasInternal;
   }
-
-  /// Builds the list resulting from traversing the node in DFS and does not
-  /// include the node itself.
-  ///
-  /// It excludes the nodes for which the [excludeCriteria] returns true. If
-  /// [excludeCriteria] is not provided, all nodes are included.
-  @Deprecated(
-      'This approach is slow and slated for removal. Traversal via a standard visitor is preferred.')
-  Iterable<AstNode> traverseNodesInDFS({AstNodePredicate? excludeCriteria}) {
-    var nodes = <AstNode>{};
-    var nodesToVisit = List.of(childNodes);
-    if (excludeCriteria == null) {
-      while (nodesToVisit.isNotEmpty) {
-        var node = nodesToVisit.removeAt(0);
-        nodes.add(node);
-        nodesToVisit.insertAll(0, node.childNodes);
-      }
-    } else {
-      while (nodesToVisit.isNotEmpty) {
-        var node = nodesToVisit.removeAt(0);
-        if (excludeCriteria(node)) continue;
-        nodes.add(node);
-        nodesToVisit.insertAll(0, node.childNodes);
-      }
-    }
-
-    return nodes;
-  }
 }
 
 extension AstNodeNullableExtension on AstNode? {
diff --git a/pkg/linter/lib/src/util/dart_type_utilities.dart b/pkg/linter/lib/src/util/dart_type_utilities.dart
index 78554c5..4b5f64c 100644
--- a/pkg/linter/lib/src/util/dart_type_utilities.dart
+++ b/pkg/linter/lib/src/util/dart_type_utilities.dart
@@ -237,11 +237,6 @@
   static bool matchesArgumentsWithParameters(NodeList<Expression> arguments,
           NodeList<FormalParameter> parameters) =>
       argumentsMatchParameters(arguments, parameters);
-
-  @Deprecated('Replace with `node.traverseNodesInDFS`')
-  static Iterable<AstNode> traverseNodesInDFS(AstNode node,
-          {AstNodePredicate? excludeCriteria}) =>
-      node.traverseNodesInDFS(excludeCriteria: excludeCriteria);
 }
 
 class InterfaceTypeDefinition {
diff --git a/pkg/vm/lib/modular/transformations/ffi/common.dart b/pkg/vm/lib/modular/transformations/ffi/common.dart
index c3c0d8f..c900fb0 100644
--- a/pkg/vm/lib/modular/transformations/ffi/common.dart
+++ b/pkg/vm/lib/modular/transformations/ffi/common.dart
@@ -7,7 +7,7 @@
 
 library vm.transformations.ffi;
 
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show
         messageFfiLeafCallMustNotReturnHandle,
         messageFfiLeafCallMustNotTakeHandle,
diff --git a/pkg/vm/lib/modular/transformations/ffi/definitions.dart b/pkg/vm/lib/modular/transformations/ffi/definitions.dart
index b3e5641..b33dba4 100644
--- a/pkg/vm/lib/modular/transformations/ffi/definitions.dart
+++ b/pkg/vm/lib/modular/transformations/ffi/definitions.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show
         messageFfiAbiSpecificIntegerInvalid,
         messageFfiAbiSpecificIntegerMappingInvalid,
@@ -17,7 +17,6 @@
         templateFfiPackedAnnotation,
         templateFfiStructGeneric,
         templateFfiTypeMismatch;
-
 import 'package:kernel/ast.dart';
 import 'package:kernel/class_hierarchy.dart' show ClassHierarchy;
 import 'package:kernel/core_types.dart';
diff --git a/pkg/vm/lib/modular/transformations/ffi/native.dart b/pkg/vm/lib/modular/transformations/ffi/native.dart
index f88b434..5d6e1a0 100644
--- a/pkg/vm/lib/modular/transformations/ffi/native.dart
+++ b/pkg/vm/lib/modular/transformations/ffi/native.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show
         messageFfiDefaultAssetDuplicate,
         messageFfiNativeDuplicateAnnotations,
@@ -16,10 +16,9 @@
         templateFfiNativeUnexpectedNumberOfParameters,
         templateFfiNativeUnexpectedNumberOfParametersWithReceiver,
         templateFfiTypeInvalid;
-
 import 'package:kernel/ast.dart';
-import 'package:kernel/core_types.dart';
 import 'package:kernel/class_hierarchy.dart' show ClassHierarchy;
+import 'package:kernel/core_types.dart';
 import 'package:kernel/library_index.dart' show LibraryIndex;
 import 'package:kernel/reference_from_index.dart' show ReferenceFromIndex;
 import 'package:kernel/target/targets.dart' show DiagnosticReporter;
diff --git a/pkg/vm/lib/modular/transformations/ffi/use_sites.dart b/pkg/vm/lib/modular/transformations/ffi/use_sites.dart
index 9ced320..ecf4405 100644
--- a/pkg/vm/lib/modular/transformations/ffi/use_sites.dart
+++ b/pkg/vm/lib/modular/transformations/ffi/use_sites.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:front_end/src/fasta/fasta_codes.dart'
+import 'package:front_end/src/fasta/codes/fasta_codes.dart'
     show
         messageFfiAddressOfMustBeNative,
         messageFfiCreateOfStructOrUnion,
@@ -15,26 +15,25 @@
         templateFfiExpectedNoExceptionalReturn,
         templateFfiExtendsOrImplementsSealedClass,
         templateFfiNotStatic;
-
 import 'package:kernel/ast.dart';
 import 'package:kernel/class_hierarchy.dart' show ClassHierarchy;
 import 'package:kernel/constructor_tearoff_lowering.dart';
 import 'package:kernel/core_types.dart';
 import 'package:kernel/kernel.dart';
 import 'package:kernel/library_index.dart' show LibraryIndex;
+import 'package:kernel/names.dart';
 import 'package:kernel/reference_from_index.dart';
 import 'package:kernel/target/targets.dart' show DiagnosticReporter;
 import 'package:kernel/type_algebra.dart'
     show FunctionTypeInstantiator, Substitution;
 import 'package:kernel/type_environment.dart';
-import 'package:kernel/names.dart';
 
-import 'definitions.dart' as definitions;
-import 'native_type_cfe.dart';
-import 'native.dart' as native;
 import 'common.dart'
     show FfiStaticTypeError, FfiTransformer, NativeType, FfiTypeCheckDirection;
+import 'definitions.dart' as definitions;
 import 'finalizable.dart';
+import 'native.dart' as native;
+import 'native_type_cfe.dart';
 
 /// Checks and replaces calls to dart:ffi compound fields and methods.
 ///
diff --git a/runtime/vm/compiler/backend/compile_type.h b/runtime/vm/compiler/backend/compile_type.h
index fa237ae..d72473e 100644
--- a/runtime/vm/compiler/backend/compile_type.h
+++ b/runtime/vm/compiler/backend/compile_type.h
@@ -144,6 +144,12 @@
   // Resulting CompileType cannot be null and cannot be sentinel.
   static CompileType FromUnboxedRepresentation(Representation rep);
 
+  // Create a new CompileType representing an value where the only information
+  // known is its representation.
+  // The resulting CompileType can only be null if the representation is
+  // tagged and cannot be sentinel.
+  static CompileType FromRepresentation(Representation rep);
+
   // Create None CompileType. It is the bottom of the lattice and is used to
   // represent type of the phi that was not yet inferred.
   static CompileType None() {
diff --git a/runtime/vm/compiler/backend/il.h b/runtime/vm/compiler/backend/il.h
index e3f8df3..1924a7f 100644
--- a/runtime/vm/compiler/backend/il.h
+++ b/runtime/vm/compiler/backend/il.h
@@ -2513,7 +2513,10 @@
   // Compute compile type for this definition. It is safe to use this
   // approximation even before type propagator was run (e.g. during graph
   // building).
-  virtual CompileType ComputeType() const { return CompileType::Dynamic(); }
+  virtual CompileType ComputeType() const {
+    // TODO(vegorov) use range information to improve type if available.
+    return CompileType::FromRepresentation(representation());
+  }
 
   // Update CompileType of the definition. Returns true if the type has changed.
   virtual bool RecomputeType() { return false; }
@@ -2971,9 +2974,6 @@
 
   virtual bool HasUnknownSideEffects() const { return false; }
 
-  // TODO(sjindel): We can make this more precise.
-  virtual CompileType ComputeType() const { return CompileType::Dynamic(); }
-
   PRINT_OPERANDS_TO_SUPPORT
 
 #define FIELD_LIST(F)                                                          \
@@ -3373,8 +3373,6 @@
 
   intptr_t sp_relative_index() const { return sp_relative_index_; }
 
-  virtual CompileType ComputeType() const;
-
   Value* value() const { return InputAt(0); }
 
   virtual bool ComputeCanDeoptimize() const { return false; }
@@ -5651,8 +5649,6 @@
 
   const Function& function() const { return function_; }
 
-  virtual CompileType ComputeType() const { return CompileType::Int(); }
-
   virtual Definition* Canonicalize(FlowGraph* flow_graph);
 
   virtual bool ComputeCanDeoptimize() const { return false; }
@@ -5822,8 +5818,6 @@
 
   DECLARE_INSTRUCTION(MakeTemp)
 
-  virtual CompileType ComputeType() const { return CompileType::Dynamic(); }
-
   virtual bool ComputeCanDeoptimize() const { return false; }
 
   virtual bool HasUnknownSideEffects() const {
@@ -6918,7 +6912,6 @@
 
   virtual Representation representation() const { return kUnboxedIntPtr; }
 
-  virtual CompileType ComputeType() const { return CompileType::Int(); }
   virtual bool HasUnknownSideEffects() const { return true; }
   virtual bool ComputeCanDeoptimize() const { return false; }
   virtual intptr_t DeoptimizationTarget() const { return DeoptId::kNone; }
@@ -7100,7 +7093,6 @@
   explicit BoolToIntInstr(Value* value) { SetInputAt(0, value); }
 
   DECLARE_INSTRUCTION(BoolToInt)
-  virtual CompileType ComputeType() const;
 
   Value* value() const { return inputs_[0]; }
 
@@ -7775,7 +7767,6 @@
 
   virtual Representation representation() const { return kUntagged; }
   DECLARE_INSTRUCTION(LoadUntagged)
-  virtual CompileType ComputeType() const;
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -8439,7 +8430,6 @@
   virtual Representation representation() const { return representation_; }
 
   DECLARE_INSTRUCTION(Unbox)
-  virtual CompileType ComputeType() const;
 
   virtual bool AttributesEqual(const Instruction& other) const {
     auto const other_unbox = other.AsUnbox();
@@ -8510,8 +8500,6 @@
 
   virtual bool ComputeCanDeoptimize() const;
 
-  virtual CompileType ComputeType() const;
-
   virtual bool AttributesEqual(const Instruction& other) const {
     auto const other_unbox = other.AsUnboxInteger();
     return UnboxInstr::AttributesEqual(other) &&
@@ -8801,7 +8789,6 @@
   PRINT_OPERANDS_TO_SUPPORT
 
   DECLARE_INSTRUCTION(BinaryDoubleOp)
-  virtual CompileType ComputeType() const;
 
   virtual Definition* Canonicalize(FlowGraph* flow_graph);
 
@@ -9037,8 +9024,6 @@
 
   virtual bool ComputeCanDeoptimize() const { return false; }
 
-  virtual CompileType ComputeType() const;
-
   virtual Representation representation() const { return kUnboxedUint32; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
@@ -9071,8 +9056,6 @@
 
   virtual bool ComputeCanDeoptimize() const { return false; }
 
-  virtual CompileType ComputeType() const;
-
   virtual Representation representation() const { return kUnboxedInt64; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
@@ -9274,8 +9257,6 @@
     return kUnboxedInt32;
   }
 
-  virtual CompileType ComputeType() const;
-
   DECLARE_INSTRUCTION(BinaryInt32Op)
 
   DECLARE_EMPTY_SERIALIZATION(BinaryInt32OpInstr, BinaryIntegerOpInstr)
@@ -9304,8 +9285,6 @@
     return kUnboxedUint32;
   }
 
-  virtual CompileType ComputeType() const;
-
   static bool IsSupported(Token::Kind op_kind) {
     switch (op_kind) {
       case Token::kADD:
@@ -9366,8 +9345,6 @@
            (speculative_mode_ == other.AsBinaryInt64Op()->speculative_mode_);
   }
 
-  virtual CompileType ComputeType() const;
-
   DECLARE_INSTRUCTION(BinaryInt64Op)
 
 #define FIELD_LIST(F) F(const SpeculativeMode, speculative_mode_)
@@ -9448,8 +9425,6 @@
     return kUnboxedInt64;
   }
 
-  virtual CompileType ComputeType() const;
-
   DECLARE_INSTRUCTION(ShiftInt64Op)
 
   DECLARE_EMPTY_SERIALIZATION(ShiftInt64OpInstr, ShiftIntegerOpInstr)
@@ -9481,8 +9456,6 @@
     return (idx == 0) ? kUnboxedInt64 : kTagged;
   }
 
-  virtual CompileType ComputeType() const;
-
   DECLARE_INSTRUCTION(SpeculativeShiftInt64Op)
 
   DECLARE_EMPTY_SERIALIZATION(SpeculativeShiftInt64OpInstr, ShiftIntegerOpInstr)
@@ -9515,8 +9488,6 @@
     return (idx == 0) ? kUnboxedUint32 : kUnboxedInt64;
   }
 
-  virtual CompileType ComputeType() const;
-
   DECLARE_INSTRUCTION(ShiftUint32Op)
 
   DECLARE_EMPTY_SERIALIZATION(ShiftUint32OpInstr, ShiftIntegerOpInstr)
@@ -9549,8 +9520,6 @@
 
   DECLARE_INSTRUCTION(SpeculativeShiftUint32Op)
 
-  virtual CompileType ComputeType() const;
-
   DECLARE_EMPTY_SERIALIZATION(SpeculativeShiftUint32OpInstr,
                               ShiftIntegerOpInstr)
 
@@ -9580,7 +9549,6 @@
   Token::Kind op_kind() const { return op_kind_; }
 
   DECLARE_INSTRUCTION(UnaryDoubleOp)
-  virtual CompileType ComputeType() const;
 
   virtual bool ComputeCanDeoptimize() const { return false; }
 
@@ -9705,7 +9673,6 @@
   virtual TokenPosition token_pos() const { return token_pos_; }
 
   DECLARE_INSTRUCTION(SmiToDouble)
-  virtual CompileType ComputeType() const;
 
   virtual Representation representation() const { return kUnboxedDouble; }
 
@@ -9731,7 +9698,6 @@
   Value* value() const { return inputs_[0]; }
 
   DECLARE_INSTRUCTION(Int32ToDouble)
-  virtual CompileType ComputeType() const;
 
   virtual Representation RequiredInputRepresentation(intptr_t index) const {
     ASSERT(index == 0);
@@ -9762,7 +9728,6 @@
   Value* value() const { return inputs_[0]; }
 
   DECLARE_INSTRUCTION(Int64ToDouble)
-  virtual CompileType ComputeType() const;
 
   virtual Representation RequiredInputRepresentation(intptr_t index) const {
     ASSERT(index == 0);
@@ -9894,8 +9859,6 @@
 
   DECLARE_INSTRUCTION(DoubleToFloat)
 
-  virtual CompileType ComputeType() const;
-
   virtual bool ComputeCanDeoptimize() const { return false; }
 
   virtual Representation representation() const { return kUnboxedFloat; }
@@ -9937,12 +9900,10 @@
 
   DECLARE_INSTRUCTION(FloatToDouble)
 
-  virtual CompileType ComputeType() const;
+  virtual Representation representation() const { return kUnboxedDouble; }
 
   virtual bool ComputeCanDeoptimize() const { return false; }
 
-  virtual Representation representation() const { return kUnboxedDouble; }
-
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
     return kUnboxedFloat;
@@ -9978,8 +9939,6 @@
 
   DECLARE_ATTRIBUTE(op_kind())
 
-  virtual CompileType ComputeType() const;
-
   virtual bool ComputeCanDeoptimize() const { return false; }
 
   virtual Representation representation() const { return kUnboxedInt32; }
@@ -10020,7 +9979,6 @@
   virtual TokenPosition token_pos() const { return token_pos_; }
 
   DECLARE_INSTRUCTION(InvokeMathCFunction)
-  virtual CompileType ComputeType() const;
 
   virtual bool ComputeCanDeoptimize() const { return false; }
 
@@ -10133,7 +10091,6 @@
 
   DECLARE_INSTRUCTION(MakePair)
 
-  virtual CompileType ComputeType() const;
   virtual bool ComputeCanDeoptimize() const { return false; }
 
   virtual Representation representation() const { return kPairOfTagged; }
@@ -10300,8 +10257,6 @@
 
   static intptr_t OutputIndexOf(Token::Kind token);
 
-  virtual CompileType ComputeType() const;
-
   virtual bool ComputeCanDeoptimize() const { return true; }
 
   virtual Representation representation() const { return kPairOfTagged; }
@@ -10804,14 +10759,6 @@
 
   virtual void InferRange(RangeAnalysis* analysis, Range* range);
 
-  virtual CompileType ComputeType() const {
-    if (to() == kUntagged) {
-      return CompileType::Object();
-    }
-    // TODO(vegorov) use range information to improve type.
-    return CompileType::Int();
-  }
-
   DECLARE_INSTRUCTION(IntConverter);
 
   DECLARE_ATTRIBUTES_NAMED(("from", "to", "is_truncating"),
@@ -10870,8 +10817,6 @@
     return converter->from() == from() && converter->to() == to();
   }
 
-  virtual CompileType ComputeType() const { return CompileType::Dynamic(); }
-
   DECLARE_INSTRUCTION(BitCast);
 
   PRINT_OPERANDS_TO_SUPPORT
@@ -10901,8 +10846,6 @@
     UNREACHABLE();
   }
 
-  virtual CompileType ComputeType() const { return CompileType::Object(); }
-
   // CSE is allowed. The thread should always be the same value.
   virtual bool AttributesEqual(const Instruction& other) const {
     ASSERT(other.IsLoadThread());
diff --git a/runtime/vm/compiler/backend/type_propagator.cc b/runtime/vm/compiler/backend/type_propagator.cc
index 1c699a0..d26a178 100644
--- a/runtime/vm/compiler/backend/type_propagator.cc
+++ b/runtime/vm/compiler/backend/type_propagator.cc
@@ -702,6 +702,15 @@
   return CompileType::FromCid(Boxing::BoxCid(rep));
 }
 
+CompileType CompileType::FromRepresentation(Representation rep) {
+  if (rep == kUntagged) return CompileType::Object();
+  if (RepresentationUtils::IsUnboxed(rep)) {
+    return FromUnboxedRepresentation(rep);
+  }
+  ASSERT(rep != kNoRepresentation);
+  return CompileType::Dynamic();
+}
+
 CompileType CompileType::Dynamic() {
   return CompileType(kCanBeNull, kCannotBeSentinel, kDynamicCid,
                      &Object::dynamic_type());
@@ -1337,10 +1346,6 @@
   return CompileType::Dynamic();
 }
 
-CompileType MoveArgumentInstr::ComputeType() const {
-  return CompileType::Dynamic();
-}
-
 CompileType ConstantInstr::ComputeType() const {
   if (value().IsNull()) {
     return CompileType::Null();
@@ -1393,10 +1398,6 @@
   return CompileType::Bool();
 }
 
-CompileType BoolToIntInstr::ComputeType() const {
-  return CompileType::Int();
-}
-
 CompileType IntToBoolInstr::ComputeType() const {
   return CompileType::Bool();
 }
@@ -1701,10 +1702,6 @@
   return CompileType::FromCid(kRecordCid);
 }
 
-CompileType LoadUntaggedInstr::ComputeType() const {
-  return CompileType::Object();
-}
-
 CompileType LoadClassIdInstr::ComputeType() const {
   return CompileType::FromCid(kSmiCid);
 }
@@ -1752,27 +1749,6 @@
   }
 }
 
-CompileType BinaryUint32OpInstr::ComputeType() const {
-  return CompileType::Int32();
-}
-
-CompileType ShiftUint32OpInstr::ComputeType() const {
-  return CompileType::Int32();
-}
-
-CompileType SpeculativeShiftUint32OpInstr::ComputeType() const {
-  return CompileType::Int32();
-}
-
-CompileType UnaryUint32OpInstr::ComputeType() const {
-  return CompileType::Int32();
-}
-
-CompileType BinaryInt32OpInstr::ComputeType() const {
-  // TODO(vegorov): range analysis information shall be used here.
-  return CompileType::Int();
-}
-
 CompileType BinarySmiOpInstr::ComputeType() const {
   return CompileType::FromCid(kSmiCid);
 }
@@ -1781,10 +1757,6 @@
   return CompileType::FromCid(kSmiCid);
 }
 
-CompileType UnaryDoubleOpInstr::ComputeType() const {
-  return CompileType::FromCid(kDoubleCid);
-}
-
 CompileType DoubleToSmiInstr::ComputeType() const {
   return CompileType::FromCid(kSmiCid);
 }
@@ -1793,44 +1765,19 @@
   return CompileType::FromCid(kSmiCid);
 }
 
-// Note that Int64Op may produce Smi-s as result of an
-// appended BoxInt64Instr node.
-CompileType BinaryInt64OpInstr::ComputeType() const {
-  return CompileType::Int();
-}
-
-CompileType ShiftInt64OpInstr::ComputeType() const {
-  return CompileType::Int();
-}
-
-CompileType SpeculativeShiftInt64OpInstr::ComputeType() const {
-  return CompileType::Int();
-}
-
-CompileType UnaryInt64OpInstr::ComputeType() const {
-  return CompileType::Int();
-}
-
 CompileType BoxIntegerInstr::ComputeType() const {
-  return ValueFitsSmi() ? CompileType::FromCid(kSmiCid) : CompileType::Int();
+  return ValueFitsSmi() ? CompileType::FromCid(kSmiCid)
+                        : BoxInstr::ComputeType();
 }
 
 bool BoxIntegerInstr::RecomputeType() {
   return UpdateType(ComputeType());
 }
 
-CompileType UnboxIntegerInstr::ComputeType() const {
-  return CompileType::Int();
-}
-
 CompileType DoubleToIntegerInstr::ComputeType() const {
   return CompileType::Int();
 }
 
-CompileType BinaryDoubleOpInstr::ComputeType() const {
-  return CompileType::FromCid(kDoubleCid);
-}
-
 CompileType DoubleTestOpInstr::ComputeType() const {
   return CompileType::FromCid(kBoolCid);
 }
@@ -1855,106 +1802,18 @@
   return CompileType::FromCid(kBoolCid);
 }
 
-CompileType UnboxInstr::ComputeType() const {
-  switch (representation()) {
-    case kUnboxedFloat:
-    case kUnboxedDouble:
-      return CompileType::FromCid(kDoubleCid);
-
-    case kUnboxedFloat32x4:
-      return CompileType::FromCid(kFloat32x4Cid);
-
-    case kUnboxedFloat64x2:
-      return CompileType::FromCid(kFloat64x2Cid);
-
-    case kUnboxedInt32x4:
-      return CompileType::FromCid(kInt32x4Cid);
-
-    case kUnboxedInt64:
-      return CompileType::Int();
-
-    default:
-      UNREACHABLE();
-      return CompileType::Dynamic();
-  }
-}
-
 CompileType BoxInstr::ComputeType() const {
-  switch (from_representation()) {
-    case kUnboxedFloat:
-    case kUnboxedDouble:
-      return CompileType::FromCid(kDoubleCid);
-
-    case kUnboxedFloat32x4:
-      return CompileType::FromCid(kFloat32x4Cid);
-
-    case kUnboxedFloat64x2:
-      return CompileType::FromCid(kFloat64x2Cid);
-
-    case kUnboxedInt32x4:
-      return CompileType::FromCid(kInt32x4Cid);
-
-    default:
-      UNREACHABLE();
-      return CompileType::Dynamic();
-  }
+  return CompileType::FromUnboxedRepresentation(from_representation());
 }
 
 CompileType BoxLanesInstr::ComputeType() const {
-  switch (from_representation()) {
-    case kUnboxedFloat:
-      return CompileType::FromCid(kFloat32x4Cid);
-    case kUnboxedDouble:
-      return CompileType::FromCid(kFloat64x2Cid);
-    case kUnboxedInt32:
-      return CompileType::FromCid(kInt32x4Cid);
-    default:
-      UNREACHABLE();
-      return CompileType::Dynamic();
-  }
-}
-
-CompileType Int32ToDoubleInstr::ComputeType() const {
-  return CompileType::FromCid(kDoubleCid);
-}
-
-CompileType SmiToDoubleInstr::ComputeType() const {
-  return CompileType::FromCid(kDoubleCid);
-}
-
-CompileType Int64ToDoubleInstr::ComputeType() const {
-  return CompileType::FromCid(kDoubleCid);
-}
-
-CompileType FloatToDoubleInstr::ComputeType() const {
-  return CompileType::FromCid(kDoubleCid);
-}
-
-CompileType FloatCompareInstr::ComputeType() const {
-  return CompileType::Int();
-}
-
-CompileType DoubleToFloatInstr::ComputeType() const {
-  // Type is double when converted back.
-  return CompileType::FromCid(kDoubleCid);
-}
-
-CompileType InvokeMathCFunctionInstr::ComputeType() const {
-  return CompileType::FromCid(kDoubleCid);
-}
-
-CompileType TruncDivModInstr::ComputeType() const {
-  return CompileType::Dynamic();
+  return CompileType::FromUnboxedRepresentation(from_representation());
 }
 
 CompileType ExtractNthOutputInstr::ComputeType() const {
   return CompileType::FromCid(definition_cid_);
 }
 
-CompileType MakePairInstr::ComputeType() const {
-  return CompileType::Dynamic();
-}
-
 CompileType UnboxLaneInstr::ComputeType() const {
   return CompileType::FromCid(definition_cid_);
 }
diff --git a/tools/VERSION b/tools/VERSION
index 5969f2c..295e365 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 3
 MINOR 4
 PATCH 0
-PRERELEASE 183
+PRERELEASE 184
 PRERELEASE_PATCH 0