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
