Version 2.10.0-82.0.dev

Merge commit '3a1f732c0fd25e9baf7f665f7099cf009f4f7d6a' into 'dev'
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 386dd91..bca2267 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
@@ -141,6 +141,11 @@
   }
 
   @override
+  void beginUncategorizedTopLevelDeclaration(Token token) {
+    listener?.beginUncategorizedTopLevelDeclaration(token);
+  }
+
+  @override
   void beginExtensionDeclarationPrelude(Token extensionKeyword) {
     listener?.beginExtensionDeclarationPrelude(extensionKeyword);
   }
@@ -387,8 +392,8 @@
   }
 
   @override
-  void beginThenControlFlow(Token token) {
-    listener?.beginThenControlFlow(token);
+  void handleThenControlFlow(Token token) {
+    listener?.handleThenControlFlow(token);
   }
 
   @override
@@ -480,6 +485,11 @@
   }
 
   @override
+  void handleEndingBinaryExpression(Token token) {
+    listener?.handleEndingBinaryExpression(token);
+  }
+
+  @override
   void endBlock(
       int count, Token beginToken, Token endToken, BlockKind blockKind) {
     listener?.endBlock(count, beginToken, endToken, blockKind);
@@ -995,8 +1005,13 @@
   }
 
   @override
-  void endTopLevelDeclaration(Token token) {
-    listener?.endTopLevelDeclaration(token);
+  void endTopLevelDeclaration(Token nextToken) {
+    listener?.endTopLevelDeclaration(nextToken);
+  }
+
+  @override
+  void beginFields(Token lastConsumed) {
+    listener?.beginFields(lastConsumed);
   }
 
   @override
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
index 0d57f76..c898b58 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
@@ -55,22 +55,22 @@
     logEvent("AsyncModifier");
   }
 
+  /// Ended by either [endAwaitExpression] or [endInvalidAwaitExpression].
   void beginAwaitExpression(Token token) {}
 
+  /// One of the two possible corresponding end events for
+  /// [beginAwaitExpression].
   void endAwaitExpression(Token beginToken, Token endToken) {
     logEvent("AwaitExpression");
   }
 
+  /// One of the two possible corresponding end events for
+  /// [beginAwaitExpression].
   void endInvalidAwaitExpression(
       Token beginToken, Token endToken, MessageCode errorCode) {
     logEvent("InvalidAwaitExpression");
   }
 
-  void endInvalidYieldStatement(Token beginToken, Token starToken,
-      Token endToken, MessageCode errorCode) {
-    logEvent("InvalidYieldStatement");
-  }
-
   void beginBlock(Token token, BlockKind blockKind) {}
 
   void endBlock(
@@ -111,8 +111,11 @@
 
   /// Called before parsing a class or named mixin application.
   ///
-  /// At this point only the `class` keyword have been seen, so we know a
-  /// declaration is coming but not its name or type parameter declarations.
+  /// At this point only the `class` or `mixin` keyword have been seen,
+  /// so we know a declaration is coming but not its name or type
+  /// parameter declarations.
+  ///
+  /// Ended by [endTopLevelDeclaration].
   void beginClassOrNamedMixinApplicationPrelude(Token token) {}
 
   /// Handle the beginning of a class declaration.
@@ -208,11 +211,18 @@
     logEvent("MixinDeclaration");
   }
 
+  /// Begins a not-further-categorized top-level declaration.
+  ///
+  /// Ended by [endTopLevelDeclaration].
+  void beginUncategorizedTopLevelDeclaration(Token token) {}
+
   /// Handle the beginning of an extension methods declaration.  Substructures:
   /// - metadata
   ///
   /// At this point only the `extension` keyword have been seen, so we know a
   /// declaration is coming but not its name or type parameter declarations.
+  ///
+  /// Ended by [endTopLevelDeclaration].
   void beginExtensionDeclarationPrelude(Token extensionKeyword) {}
 
   /// Handle the beginning of an extension methods declaration.  Substructures:
@@ -315,6 +325,8 @@
     logEvent("ExpressionStatement");
   }
 
+  /// Note that this is ended by [endClassFactoryMethod],
+  /// [endMixinFactoryMethod] or [endExtensionFactoryMethod].
   void beginFactoryMethod(
       Token lastConsumed, Token externalToken, Token constToken) {}
 
@@ -366,7 +378,7 @@
   /// - Type
   /// - Variable declarations (count times)
   ///
-  /// Doesn't have a corresponding begin event, use [beginMember] instead.
+  /// Started by [beginFields].
   void endClassFields(
       Token abstractToken,
       Token externalToken,
@@ -386,7 +398,7 @@
   /// - Type
   /// - Variable declarations (count times)
   ///
-  /// Doesn't have a corresponding begin event, use [beginMember] instead.
+  /// Started by [beginFields].
   void endMixinFields(
       Token abstractToken,
       Token externalToken,
@@ -408,7 +420,7 @@
   /// - Type
   /// - Variable declarations (count times)
   ///
-  /// Doesn't have a corresponding begin event, use [beginMember] instead.
+  /// Started by [beginFields].
   void endExtensionFields(
       Token abstractToken,
       Token externalToken,
@@ -829,6 +841,10 @@
     logEvent("StringJuxtaposition");
   }
 
+  /// Called for class-like members (class, mixin, extension), but each member
+  /// should also have a more specific begin/end pair, e.g.
+  /// [beginFactoryMethod]/[endClassFactoryMethod]/[endMixinFactoryMethod]/
+  /// [endExtensionFactoryMethod].
   void beginMember() {}
 
   /// Handle an invalid member declaration. Substructures:
@@ -837,7 +853,10 @@
     logEvent("InvalidMember");
   }
 
-  /// This event is added for convenience. Normally, one should override
+  /// This event is added for convenience to the listener.
+  /// Members will actually be begin/end'ed by more specific
+  /// events as well.
+  /// Normally listeners should probably override
   /// [endClassFields], [endMixinFields], [endExtensionFields],
   /// [endClassMethod], [endMixinMethod], [endExtensionMethod],
   /// [endClassConstructor], [endMixinConstructor],
@@ -846,8 +865,11 @@
     logEvent("Member");
   }
 
-  /// Handle the beginning of a method declaration.  Substructures:
+  /// Handle the beginning of a class-like method declaration.  Substructures:
   /// - metadata
+  /// Note that this is ended with [endClassConstructor], [endClassMethod],
+  /// [endExtensionConstructor], [endExtensionMethod], [endMixinConstructor] or
+  /// [endMixinMethod].
   void beginMethod(Token externalToken, Token staticToken, Token covariantToken,
       Token varFinalOrConst, Token getOrSet, Token name) {}
 
@@ -1075,11 +1097,21 @@
     logEvent("RethrowStatement");
   }
 
-  /// This event is added for convenience. Normally, one should use
+  /// This event is added for convenience for the listener.
+  /// All top-level declarations will actually be begin/end'ed by more specific
+  /// events as well, e.g. [beginClassDeclaration]/[endClassDeclaration],
+  /// [beginEnum]/[endEnum] etc.
+  ///
+  /// Normally listeners should probably override
   /// [endClassDeclaration], [endNamedMixinApplication], [endEnum],
   /// [endFunctionTypeAlias], [endLibraryName], [endImport], [endExport],
-  /// [endPart], [endPartOf], [endTopLevelFields], or [endTopLevelMethod].
-  void endTopLevelDeclaration(Token token) {
+  /// [endPart], [endPartOf], [endTopLevelFields], or [endTopLevelMethod]
+  /// instead.
+  ///
+  /// Started by one of [beginExtensionDeclarationPrelude],
+  /// [beginClassOrNamedMixinApplicationPrelude], [beginTopLevelMember] or
+  /// [beginUncategorizedTopLevelDeclaration].
+  void endTopLevelDeclaration(Token nextToken) {
     logEvent("TopLevelDeclaration");
   }
 
@@ -1095,18 +1127,24 @@
   }
 
   /// Marks the beginning of a top level field or method declaration.
-  /// Doesn't have a corresponding end event.
-  /// See [endTopLevelFields] and [endTopLevelMethod].
+  /// See also [endTopLevelFields] and [endTopLevelMethod].
+  ///
+  /// Ended by [endTopLevelDeclaration].
   void beginTopLevelMember(Token token) {}
 
+  /// Marks the beginning of a fields declaration.
+  /// Note that this is ended with [endTopLevelFields], [endClassFields],
+  /// [endMixinFields] or [endExtensionFields].
+  void beginFields(Token lastConsumed) {}
+
   /// Handle the end of a top level variable declaration.  Substructures:
   /// - Metadata
   /// - Type
   /// - Repeated [count] times:
   ///   - Variable name (identifier)
   ///   - Field initializer
-  /// Doesn't have a corresponding begin event.
-  /// Use [beginTopLevelMember] instead.
+  ///
+  /// Started by [beginFields].
   void endTopLevelFields(
       Token externalToken,
       Token staticToken,
@@ -1291,6 +1329,12 @@
     logEvent("BinaryExpression");
   }
 
+  /// Called for `.`, `?.` and `..`.
+  void handleEndingBinaryExpression(Token token) {
+    // TODO(jensj): push implementation into subclasses
+    endBinaryExpression(token);
+  }
+
   /// Called when the parser encounters a `?` operator and begins parsing a
   /// conditional expression.
   void beginConditionalExpression(Token question) {}
@@ -1311,24 +1355,30 @@
   }
 
   /// Called before parsing a "for" control flow list, set, or map entry.
+  /// Ended by either [endForControlFlow] or [endForInControlFlow].
   void beginForControlFlow(Token awaitToken, Token forToken) {}
 
   /// Called after parsing a "for" control flow list, set, or map entry.
+  /// One of the two possible corresponding end events for
+  /// [beginForControlFlow].
   void endForControlFlow(Token token) {
     logEvent('endForControlFlow');
   }
 
   /// Called after parsing a "for-in" control flow list, set, or map entry.
+  /// One of the two possible corresponding end events for
+  /// [beginForControlFlow].
   void endForInControlFlow(Token token) {
     logEvent('endForInControlFlow');
   }
 
   /// Called before parsing an `if` control flow list, set, or map entry.
+  /// Ended by either [endIfControlFlow] or [endIfElseControlFlow].
   void beginIfControlFlow(Token ifToken) {}
 
   /// Called before parsing the `then` portion of an `if` control flow list,
   /// set, or map entry.
-  void beginThenControlFlow(Token token) {}
+  void handleThenControlFlow(Token token) {}
 
   /// Called before parsing the `else` portion of an `if` control flow list,
   /// set, or map entry.
@@ -1340,6 +1390,8 @@
   /// Substructures:
   /// - if conditional expression
   /// - expression
+  /// One of the two possible corresponding end events for
+  /// [beginIfControlFlow].
   void endIfControlFlow(Token token) {
     logEvent("endIfControlFlow");
   }
@@ -1349,6 +1401,8 @@
   /// - if conditional expression
   /// - then expression
   /// - else expression
+  /// One of the two possible corresponding end events for
+  /// [beginIfControlFlow].
   void endIfElseControlFlow(Token token) {
     logEvent("endIfElseControlFlow");
   }
@@ -1589,12 +1643,22 @@
     logEvent("handleVoidKeywordWithTypeArguments");
   }
 
+  /// Ended by either [endYieldStatement] or [endInvalidYieldStatement].
   void beginYieldStatement(Token token) {}
 
+  /// One of the two possible corresponding end events for
+  /// [beginYieldStatement].
   void endYieldStatement(Token yieldToken, Token starToken, Token endToken) {
     logEvent("YieldStatement");
   }
 
+  /// One of the two possible corresponding end events for
+  /// [beginYieldStatement].
+  void endInvalidYieldStatement(Token beginToken, Token starToken,
+      Token endToken, MessageCode errorCode) {
+    logEvent("InvalidYieldStatement");
+  }
+
   /// The parser noticed a syntax error, but was able to recover from it. The
   /// error should be reported using the [message], and the code between the
   /// beginning of the [startToken] and the end of the [endToken] should be
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/literal_entry_info_impl.dart b/pkg/_fe_analyzer_shared/lib/src/parser/literal_entry_info_impl.dart
index 60d378f..9e559f1 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/literal_entry_info_impl.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/literal_entry_info_impl.dart
@@ -145,7 +145,7 @@
     assert(optional('if', ifToken));
     parser.listener.beginIfControlFlow(ifToken);
     Token result = parser.ensureParenthesizedCondition(ifToken);
-    parser.listener.beginThenControlFlow(result);
+    parser.listener.handleThenControlFlow(result);
     return result;
   }
 
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 4aabc5b..0b5c365 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
@@ -637,6 +637,7 @@
   /// ```
   Token parseLibraryName(Token libraryKeyword) {
     assert(optional('library', libraryKeyword));
+    listener.beginUncategorizedTopLevelDeclaration(libraryKeyword);
     listener.beginLibraryName(libraryKeyword);
     Token token = parseQualified(libraryKeyword, IdentifierContext.libraryName,
         IdentifierContext.libraryNameContinuation);
@@ -677,6 +678,7 @@
   /// ```
   Token parseImport(Token importKeyword) {
     assert(optional('import', importKeyword));
+    listener.beginUncategorizedTopLevelDeclaration(importKeyword);
     listener.beginImport(importKeyword);
     Token token = ensureLiteralString(importKeyword);
     Token uri = token;
@@ -875,6 +877,7 @@
   /// ```
   Token parseExport(Token exportKeyword) {
     assert(optional('export', exportKeyword));
+    listener.beginUncategorizedTopLevelDeclaration(exportKeyword);
     listener.beginExport(exportKeyword);
     Token token = ensureLiteralString(exportKeyword);
     token = parseConditionalUriStar(token);
@@ -974,6 +977,7 @@
 
   Token parsePartOrPartOf(Token partKeyword, DirectiveContext directiveState) {
     assert(optional('part', partKeyword));
+    listener.beginUncategorizedTopLevelDeclaration(partKeyword);
     if (optional('of', partKeyword.next)) {
       directiveState?.checkPartOf(this, partKeyword);
       return parsePartOf(partKeyword);
@@ -1098,6 +1102,7 @@
   /// ```
   Token parseTypedef(Token typedefKeyword) {
     assert(optional('typedef', typedefKeyword));
+    listener.beginUncategorizedTopLevelDeclaration(typedefKeyword);
     listener.beginFunctionTypeAlias(typedefKeyword);
     TypeInfo typeInfo = computeType(typedefKeyword, /* required = */ false);
     Token token = typeInfo.skipType(typedefKeyword);
@@ -1733,6 +1738,7 @@
   /// ```
   Token parseEnum(Token enumKeyword) {
     assert(optional('enum', enumKeyword));
+    listener.beginUncategorizedTopLevelDeclaration(enumKeyword);
     listener.beginEnum(enumKeyword);
     Token token =
         ensureIdentifier(enumKeyword, IdentifierContext.enumDeclaration);
@@ -2510,6 +2516,8 @@
       DeclarationKind kind,
       String enclosingDeclarationName,
       bool nameIsRecovered) {
+    listener.beginFields(beforeStart);
+
     // Covariant affects only the setter and final fields do not have a setter,
     // unless it's a late field (dartbug.com/40805).
     // Field that are covariant late final with initializers are checked further
@@ -4598,7 +4606,7 @@
             // [parsePrimary] instead.
             token = parsePrimary(
                 token.next, IdentifierContext.expressionContinuation);
-            listener.endBinaryExpression(operator);
+            listener.handleEndingBinaryExpression(operator);
 
             Token bangToken = token;
             if (optional('!', token.next)) {
@@ -4703,7 +4711,7 @@
           token, noTypeParamOrArg, /* checkedNullAware = */ false);
     } else {
       token = parseSend(token, IdentifierContext.expressionContinuation);
-      listener.endBinaryExpression(cascadeOperator);
+      listener.handleEndingBinaryExpression(cascadeOperator);
     }
     Token next = token.next;
     Token mark;
@@ -4713,7 +4721,7 @@
         Token period = next;
         token = parseSend(next, IdentifierContext.expressionContinuation);
         next = token.next;
-        listener.endBinaryExpression(period);
+        listener.handleEndingBinaryExpression(period);
       } else if (optional('!', next)) {
         listener.handleNonNullAssertExpression(next);
         token = next;
@@ -7208,6 +7216,7 @@
         token = next.endGroup;
       }
     }
+    listener.endMember();
     return token;
   }
 
@@ -7230,6 +7239,7 @@
         token = next.endGroup;
       }
     }
+    listener.endMember();
     return token;
   }
 
@@ -7240,6 +7250,7 @@
     // TODO(brianwilkerson): If the declaration appears to be a valid typedef
     // then skip the entire declaration so that we generate a single error
     // (above) rather than many unhelpful errors.
+    listener.endMember();
     return token;
   }
 
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/stack_listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/stack_listener.dart
index a29d6f0..e9d29da 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/stack_listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/stack_listener.dart
@@ -294,9 +294,9 @@
   }
 
   @override
-  void endTopLevelDeclaration(Token token) {
+  void endTopLevelDeclaration(Token nextToken) {
     debugEvent("TopLevelDeclaration");
-    checkEmpty(token.charOffset);
+    checkEmpty(nextToken.charOffset);
   }
 
   @override
diff --git a/pkg/analyzer/test/generated/parser_fasta_listener.dart b/pkg/analyzer/test/generated/parser_fasta_listener.dart
index 130997a..4a88ce75 100644
--- a/pkg/analyzer/test/generated/parser_fasta_listener.dart
+++ b/pkg/analyzer/test/generated/parser_fasta_listener.dart
@@ -1154,7 +1154,8 @@
 
   @override
   void endTopLevelDeclaration(Token token) {
-    // There is no corresponding beginTopLevelDeclaration
+    // There is no corresponding beginTopLevelDeclaration.
+    // It is insteads started by another begin, see listener.
     //_expectBegin('TopLevelDeclaration');
     expectIn('CompilationUnit');
     super.endTopLevelDeclaration(token);
diff --git a/pkg/compiler/lib/src/kernel/dart2js_target.dart b/pkg/compiler/lib/src/kernel/dart2js_target.dart
index 891c462..f56563a 100644
--- a/pkg/compiler/lib/src/kernel/dart2js_target.dart
+++ b/pkg/compiler/lib/src/kernel/dart2js_target.dart
@@ -68,6 +68,9 @@
   @override
   bool get supportsLateFields => false;
 
+  @override
+  bool get useStaticFieldLowering => false;
+
   // TODO(johnniwinther,sigmund): Remove this when js-interop handles getter
   //  calls encoded with an explicit property get or disallows getter calls.
   @override
diff --git a/pkg/dev_compiler/lib/src/kernel/target.dart b/pkg/dev_compiler/lib/src/kernel/target.dart
index 33e19e8..8a54269 100644
--- a/pkg/dev_compiler/lib/src/kernel/target.dart
+++ b/pkg/dev_compiler/lib/src/kernel/target.dart
@@ -34,6 +34,9 @@
   @override
   bool get supportsLateFields => false;
 
+  @override
+  bool get useStaticFieldLowering => false;
+
   // TODO(johnniwinther,sigmund): Remove this when js-interop handles getter
   //  calls encoded with an explicit property get or disallows getter calls.
   @override
diff --git a/pkg/front_end/lib/src/base/command_line_options.dart b/pkg/front_end/lib/src/base/command_line_options.dart
index d8c5e33..f288ff5 100644
--- a/pkg/front_end/lib/src/base/command_line_options.dart
+++ b/pkg/front_end/lib/src/base/command_line_options.dart
@@ -9,6 +9,8 @@
   static const String nnbdWeakMode = "--nnbd-weak";
 
   static const String forceLateLowering = "--force-late-lowering";
+  static const String forceStaticFieldLowering =
+      "--force-static-field-lowering";
   static const String forceNoExplicitGetterCalls =
       "--force-no-explicit-getter-calls";
 
diff --git a/pkg/front_end/lib/src/fasta/builder/field_builder.dart b/pkg/front_end/lib/src/fasta/builder/field_builder.dart
index 59afedc..6dcd093 100644
--- a/pkg/front_end/lib/src/fasta/builder/field_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/field_builder.dart
@@ -174,6 +174,33 @@
               isCovariant);
         }
       }
+    } else if (libraryBuilder.isNonNullableByDefault &&
+        libraryBuilder.loader.target.backendTarget.useStaticFieldLowering &&
+        (isStatic || isTopLevel) &&
+        hasInitializer) {
+      if (isFinal) {
+        _fieldEncoding = new LateFinalFieldWithInitializerEncoding(
+            name,
+            fileUri,
+            charOffset,
+            charEndOffset,
+            reference,
+            lateIsSetReferenceFrom,
+            getterReferenceFrom,
+            setterReferenceFrom,
+            isCovariant);
+      } else {
+        _fieldEncoding = new LateFieldWithInitializerEncoding(
+            name,
+            fileUri,
+            charOffset,
+            charEndOffset,
+            reference,
+            lateIsSetReferenceFrom,
+            getterReferenceFrom,
+            setterReferenceFrom,
+            isCovariant);
+      }
     } else {
       assert(lateIsSetReferenceFrom == null);
       assert(getterReferenceFrom == null);
diff --git a/pkg/front_end/lib/src/fasta/builder/type_alias_builder.dart b/pkg/front_end/lib/src/fasta/builder/type_alias_builder.dart
index 0e438d5..f6a2aeb 100644
--- a/pkg/front_end/lib/src/fasta/builder/type_alias_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/type_alias_builder.dart
@@ -11,17 +11,9 @@
         InvalidType,
         Nullability,
         TypeParameter,
-        Typedef,
-        TypedefType,
-        VariableDeclaration,
-        getAsTypeArguments;
+        Typedef;
 
-import 'package:kernel/type_algebra.dart'
-    show
-        FreshTypeParameters,
-        getFreshTypeParameters,
-        substitute,
-        uniteNullabilities;
+import 'package:kernel/type_algebra.dart' show substitute, uniteNullabilities;
 
 import '../fasta_codes.dart'
     show
@@ -33,12 +25,7 @@
 
 import '../problems.dart' show unhandled;
 
-import '../source/source_library_builder.dart' show SourceLibraryBuilder;
-
 import 'class_builder.dart';
-import 'fixed_type_builder.dart';
-import 'formal_parameter_builder.dart';
-import 'function_type_builder.dart';
 import 'library_builder.dart';
 import 'metadata_builder.dart';
 import 'named_type_builder.dart';
@@ -47,27 +34,90 @@
 import 'type_declaration_builder.dart';
 import 'type_variable_builder.dart';
 
-class TypeAliasBuilder extends TypeDeclarationBuilderImpl {
-  final TypeBuilder type;
-
-  final List<TypeVariableBuilder> _typeVariables;
+abstract class TypeAliasBuilder implements TypeDeclarationBuilder {
+  TypeBuilder get type;
 
   /// The [Typedef] built by this builder.
-  final Typedef typedef;
+  Typedef get typedef;
 
   DartType thisType;
 
-  TypeAliasBuilder(List<MetadataBuilder> metadata, String name,
-      this._typeVariables, this.type, LibraryBuilder parent, int charOffset,
-      {Typedef typedef, Typedef referenceFrom})
-      : typedef = typedef ??
-            (new Typedef(name, null,
-                typeParameters: TypeVariableBuilder.typeParametersFromBuilders(
-                    _typeVariables),
-                fileUri: parent.library.fileUri,
-                reference: referenceFrom?.reference)
-              ..fileOffset = charOffset),
-        super(metadata, 0, name, parent, charOffset);
+  String get debugName;
+
+  LibraryBuilder get parent;
+
+  LibraryBuilder get library;
+
+  List<TypeVariableBuilder> get typeVariables;
+
+  int varianceAt(int index);
+
+  bool get fromDill => false;
+
+  DartType buildThisType();
+
+  /// [arguments] have already been built.
+  DartType buildTypesWithBuiltArguments(LibraryBuilder library,
+      Nullability nullability, List<DartType> arguments);
+
+  List<DartType> buildTypeArguments(
+      LibraryBuilder library, List<TypeBuilder> arguments,
+      [bool notInstanceContext]);
+
+  /// Returns `true` if this typedef is an alias of the `Null` type.
+  bool get isNullAlias;
+
+  @override
+  DartType buildType(LibraryBuilder library,
+      NullabilityBuilder nullabilityBuilder, List<TypeBuilder> arguments,
+      [bool notInstanceContext]);
+
+  /// Returns the [TypeDeclarationBuilder] for the type aliased by `this`,
+  /// based on the given [typeArguments]. It expands type aliases repeatedly
+  /// until it encounters a builder which is not a [TypeAliasBuilder].
+  ///
+  /// If [isInvocation] is false: In this case it is required that
+  /// `typeArguments.length == typeVariables.length`. The [typeArguments] are
+  /// threaded through the expansion if needed, and the resulting declaration
+  /// is returned.
+  ///
+  /// If [isInvocation] is true: In this case [typeArguments] are ignored, but
+  /// [invocationCharOffset] and [invocationFileUri] must be non-null. If `this`
+  /// type alias expands in one or more steps to a builder which is not a
+  /// [TypeAliasBuilder] nor a [TypeVariableBuilder] then that builder is
+  /// returned. If this type alias is cyclic or expands to an invalid type or
+  /// a type that does not have a declaration (say, a function type) then `this`
+  /// is returned (when the type was invalid: with `thisType` set to
+  /// `const InvalidType()`). If `this` type alias expands to a
+  /// [TypeVariableBuilder] then the type alias cannot be used in a constructor
+  /// invocation. Then an error is emitted and `this` is returned.
+  TypeDeclarationBuilder unaliasDeclaration(List<TypeBuilder> typeArguments,
+      {bool isInvocation = false,
+      int invocationCharOffset,
+      Uri invocationFileUri});
+
+  /// Compute type arguments passed to [ClassBuilder] from unaliasDeclaration.
+  /// This method does not check for cycles and may only be called if an
+  /// invocation of `this.unaliasDeclaration(typeArguments)` has returned a
+  /// [ClassBuilder].
+  ///
+  /// The parameter [typeArguments] would typically be obtained from a
+  /// [NamedTypeBuilder] whose `declaration` is `this`. It must be non-null.
+  ///
+  /// Returns `null` if an error occurred.
+  ///
+  /// The method substitutes through the chain of type aliases denoted by
+  /// [this], such that the returned [TypeBuilder]s are appropriate type
+  /// arguments for passing to the [ClassBuilder] which is the end of the
+  /// unaliasing chain.
+  List<TypeBuilder> unaliasTypeArguments(List<TypeBuilder> typeArguments);
+}
+
+abstract class TypeAliasBuilderImpl extends TypeDeclarationBuilderImpl
+    implements TypeAliasBuilder {
+  TypeAliasBuilderImpl(List<MetadataBuilder> metadata, String name,
+      LibraryBuilder parent, int charOffset)
+      : super(metadata, 0, name, parent, charOffset);
 
   String get debugName => "TypeAliasBuilder";
 
@@ -75,111 +125,6 @@
 
   LibraryBuilder get library => super.parent;
 
-  // TODO(CFE TEAM): Some of this is a temporary workaround.
-  List<TypeVariableBuilder> get typeVariables => _typeVariables;
-  int varianceAt(int index) => typeVariables[index].parameter.variance;
-  bool get fromDill => false;
-
-  Typedef build(SourceLibraryBuilder libraryBuilder) {
-    typedef.type ??= buildThisType();
-
-    TypeBuilder type = this.type;
-    if (type is FunctionTypeBuilder) {
-      List<TypeParameter> typeParameters =
-          new List<TypeParameter>(type.typeVariables?.length ?? 0);
-      for (int i = 0; i < typeParameters.length; ++i) {
-        TypeVariableBuilder typeVariable = type.typeVariables[i];
-        typeParameters[i] = typeVariable.parameter;
-      }
-      FreshTypeParameters freshTypeParameters =
-          getFreshTypeParameters(typeParameters);
-      typedef.typeParametersOfFunctionType
-          .addAll(freshTypeParameters.freshTypeParameters);
-
-      if (type.formals != null) {
-        for (FormalParameterBuilder formal in type.formals) {
-          VariableDeclaration parameter = formal.build(libraryBuilder, 0);
-          parameter.type = freshTypeParameters.substitute(parameter.type);
-          if (formal.isNamed) {
-            typedef.namedParameters.add(parameter);
-          } else {
-            typedef.positionalParameters.add(parameter);
-          }
-        }
-      }
-    } else if (type is NamedTypeBuilder || type is FixedTypeBuilder) {
-      // No error, but also no additional setup work.
-    } else if (type != null) {
-      unhandled("${type.fullNameForErrors}", "build", charOffset, fileUri);
-    }
-
-    return typedef;
-  }
-
-  TypedefType thisTypedefType(Typedef typedef, LibraryBuilder clientLibrary) {
-    // At this point the bounds of `typedef.typeParameters` may not be assigned
-    // yet, so [getAsTypeArguments] may crash trying to compute the nullability
-    // of the created types from the bounds.  To avoid that, we use "dynamic"
-    // for the bound of all boundless variables and add them to the list for
-    // being recomputed later, when the bounds are assigned.
-    List<DartType> bounds =
-        new List<DartType>.filled(typedef.typeParameters.length, null);
-    for (int i = 0; i < bounds.length; ++i) {
-      bounds[i] = typedef.typeParameters[i].bound;
-      if (bounds[i] == null) {
-        typedef.typeParameters[i].bound = const DynamicType();
-      }
-    }
-    List<DartType> asTypeArguments =
-        getAsTypeArguments(typedef.typeParameters, clientLibrary.library);
-    TypedefType result =
-        new TypedefType(typedef, clientLibrary.nonNullable, asTypeArguments);
-    for (int i = 0; i < bounds.length; ++i) {
-      if (bounds[i] == null) {
-        // If the bound is not assigned yet, put the corresponding
-        // type-parameter type into the list for the nullability re-computation.
-        // At this point, [parent] should be a [SourceLibraryBuilder] because
-        // otherwise it's a compiled library loaded from a dill file, and the
-        // bounds should have been assigned.
-        SourceLibraryBuilder parentLibrary = parent;
-        parentLibrary.pendingNullabilities.add(asTypeArguments[i]);
-      }
-    }
-    return result;
-  }
-
-  DartType buildThisType() {
-    if (thisType != null) {
-      if (identical(thisType, cyclicTypeAliasMarker)) {
-        library.addProblem(templateCyclicTypedef.withArguments(name),
-            charOffset, noLength, fileUri);
-        return const InvalidType();
-      }
-      return thisType;
-    }
-    // It is a compile-time error for an alias (typedef) to refer to itself. We
-    // detect cycles by detecting recursive calls to this method using an
-    // instance of InvalidType that isn't identical to `const InvalidType()`.
-    thisType = cyclicTypeAliasMarker;
-    TypeBuilder type = this.type;
-    if (type != null) {
-      DartType builtType =
-          type.build(library, thisTypedefType(typedef, library));
-      if (builtType != null) {
-        if (typeVariables != null) {
-          for (TypeVariableBuilder tv in typeVariables) {
-            // Follow bound in order to find all cycles
-            tv.bound?.build(library);
-          }
-        }
-        return thisType = builtType;
-      } else {
-        return thisType = const InvalidType();
-      }
-    }
-    return thisType = const InvalidType();
-  }
-
   /// [arguments] have already been built.
   DartType buildTypesWithBuiltArguments(LibraryBuilder library,
       Nullability nullability, List<DartType> arguments) {
@@ -196,56 +141,6 @@
     return substitute(result, substitution);
   }
 
-  List<DartType> buildTypeArguments(
-      LibraryBuilder library, List<TypeBuilder> arguments,
-      [bool notInstanceContext]) {
-    if (arguments == null && typeVariables == null) {
-      return <DartType>[];
-    }
-
-    if (arguments == null && typeVariables != null) {
-      List<DartType> result =
-          new List<DartType>.filled(typeVariables.length, null, growable: true);
-      for (int i = 0; i < result.length; ++i) {
-        result[i] = typeVariables[i].defaultType.build(library);
-      }
-      if (library is SourceLibraryBuilder) {
-        library.inferredTypes.addAll(result);
-      }
-      return result;
-    }
-
-    if (arguments != null && arguments.length != typeVariablesCount) {
-      // That should be caught and reported as a compile-time error earlier.
-      return unhandled(
-          templateTypeArgumentMismatch
-              .withArguments(typeVariablesCount)
-              .message,
-          "buildTypeArguments",
-          -1,
-          null);
-    }
-
-    // arguments.length == typeVariables.length
-    List<DartType> result =
-        new List<DartType>.filled(arguments.length, null, growable: true);
-    for (int i = 0; i < result.length; ++i) {
-      result[i] = arguments[i].build(library);
-    }
-    return result;
-  }
-
-  /// If [arguments] are null, the default types for the variables are used.
-  @override
-  int get typeVariablesCount => typeVariables?.length ?? 0;
-
-  /// Returns `true` if this typedef is an alias of the `Null` type.
-  bool get isNullAlias {
-    TypeDeclarationBuilder typeDeclarationBuilder = type.declaration;
-    return typeDeclarationBuilder is ClassBuilder &&
-        typeDeclarationBuilder.isNullClass;
-  }
-
   @override
   DartType buildType(LibraryBuilder library,
       NullabilityBuilder nullabilityBuilder, List<TypeBuilder> arguments,
diff --git a/pkg/front_end/lib/src/fasta/dill/dill_type_alias_builder.dart b/pkg/front_end/lib/src/fasta/dill/dill_type_alias_builder.dart
index 5720eab..2bbe28c 100644
--- a/pkg/front_end/lib/src/fasta/dill/dill_type_alias_builder.dart
+++ b/pkg/front_end/lib/src/fasta/dill/dill_type_alias_builder.dart
@@ -18,13 +18,16 @@
 import 'dill_class_builder.dart' show computeTypeVariableBuilders;
 import 'dill_library_builder.dart' show DillLibraryBuilder;
 
-class DillTypeAliasBuilder extends TypeAliasBuilder {
+class DillTypeAliasBuilder extends TypeAliasBuilderImpl {
+  final Typedef typedef;
+
   List<TypeVariableBuilder> _typeVariables;
   TypeBuilder _type;
 
-  DillTypeAliasBuilder(Typedef typedef, DillLibraryBuilder parent)
-      : super(null, typedef.name, null, null, parent, typedef.fileOffset,
-            typedef: typedef);
+  DartType thisType;
+
+  DillTypeAliasBuilder(this.typedef, DillLibraryBuilder parent)
+      : super(null, typedef.name, parent, typedef.fileOffset);
 
   List<MetadataBuilder> get metadata {
     return unimplemented("metadata", -1, null);
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 eb2e6cf..bf1173b 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -4304,7 +4304,7 @@
     if (type is TypeAliasBuilder) {
       errorName = debugName(type.name, name);
       TypeAliasBuilder aliasBuilder = type;
-      int numberOfTypeParameters = aliasBuilder.typeVariables?.length ?? 0;
+      int numberOfTypeParameters = aliasBuilder.typeVariablesCount;
       int numberOfTypeArguments = typeArguments?.length ?? 0;
       if (typeArguments != null &&
           numberOfTypeParameters != numberOfTypeArguments) {
@@ -4327,7 +4327,7 @@
           typeArgumentBuilders.add(unresolvedType?.builder);
         }
       } else {
-        if (aliasBuilder.typeVariables?.isNotEmpty ?? false) {
+        if (aliasBuilder.typeVariablesCount > 0) {
           // Raw generic type alias used for instance creation, needs inference.
           ClassBuilder classBuilder;
           if (type is ClassBuilder) {
@@ -4539,11 +4539,11 @@
   }
 
   @override
-  void beginThenControlFlow(Token token) {
+  void handleThenControlFlow(Token token) {
     Expression condition = popForValue();
     enterThenForTypePromotion(condition);
     push(condition);
-    super.beginThenControlFlow(token);
+    super.handleThenControlFlow(token);
   }
 
   @override
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 56c17ed..5731350 100644
--- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
@@ -450,7 +450,7 @@
 
   @override
   void beginClassOrNamedMixinApplicationPrelude(Token token) {
-    debugEvent("beginClassOrNamedMixinApplication");
+    debugEvent("beginClassOrNamedMixinApplicationPrelude");
     libraryBuilder.beginNestedDeclaration(
         TypeParameterScopeKind.classOrNamedMixinApplication,
         "class or mixin application");
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 0c3c024..e471194 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
@@ -166,6 +166,8 @@
 
 import 'source_loader.dart' show SourceLoader;
 
+import 'source_type_alias_builder.dart';
+
 class SourceLibraryBuilder extends LibraryBuilderImpl {
   static const String MALFORMED_URI_SCHEME = "org-dartlang-malformed-uri";
 
@@ -2383,7 +2385,7 @@
       }
     }
     Typedef referenceFrom = referencesFromIndexed?.lookupTypedef(name);
-    TypeAliasBuilder typedefBuilder = new TypeAliasBuilder(
+    TypeAliasBuilder typedefBuilder = new SourceTypeAliasBuilder(
         metadata, name, typeVariables, type, this, charOffset,
         referenceFrom: referenceFrom);
     loader.target.metadataCollector
@@ -2481,7 +2483,7 @@
           library.addMember(member);
         }
       });
-    } else if (declaration is TypeAliasBuilder) {
+    } else if (declaration is SourceTypeAliasBuilder) {
       Typedef typedef = declaration.build(this);
       if (!declaration.isPatch && !declaration.isDuplicate) {
         library.addTypedef(typedef);
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
new file mode 100644
index 0000000..369a202
--- /dev/null
+++ b/pkg/front_end/lib/src/fasta/source/source_type_alias_builder.dart
@@ -0,0 +1,220 @@
+// Copyright (c) 2016, 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.
+
+library fasta.function_type_alias_builder;
+
+import 'package:kernel/ast.dart'
+    show
+        DartType,
+        DynamicType,
+        InvalidType,
+        TypeParameter,
+        Typedef,
+        TypedefType,
+        VariableDeclaration,
+        getAsTypeArguments;
+
+import 'package:kernel/type_algebra.dart'
+    show FreshTypeParameters, getFreshTypeParameters;
+
+import '../fasta_codes.dart'
+    show noLength, templateCyclicTypedef, templateTypeArgumentMismatch;
+
+import '../problems.dart' show unhandled;
+
+import '../builder/class_builder.dart';
+import '../builder/fixed_type_builder.dart';
+import '../builder/formal_parameter_builder.dart';
+import '../builder/function_type_builder.dart';
+import '../builder/library_builder.dart';
+import '../builder/metadata_builder.dart';
+import '../builder/named_type_builder.dart';
+import '../builder/type_builder.dart';
+import '../builder/type_alias_builder.dart';
+import '../builder/type_declaration_builder.dart';
+import '../builder/type_variable_builder.dart';
+
+import 'source_library_builder.dart' show SourceLibraryBuilder;
+
+class SourceTypeAliasBuilder extends TypeAliasBuilderImpl {
+  final TypeBuilder type;
+
+  final List<TypeVariableBuilder> _typeVariables;
+
+  /// The [Typedef] built by this builder.
+  final Typedef typedef;
+
+  DartType thisType;
+
+  SourceTypeAliasBuilder(List<MetadataBuilder> metadata, String name,
+      this._typeVariables, this.type, LibraryBuilder parent, int charOffset,
+      {Typedef typedef, Typedef referenceFrom})
+      : typedef = typedef ??
+            (new Typedef(name, null,
+                typeParameters: TypeVariableBuilder.typeParametersFromBuilders(
+                    _typeVariables),
+                fileUri: parent.library.fileUri,
+                reference: referenceFrom?.reference)
+              ..fileOffset = charOffset),
+        super(metadata, name, parent, charOffset);
+
+  @override
+  List<TypeVariableBuilder> get typeVariables => _typeVariables;
+
+  @override
+  int varianceAt(int index) => typeVariables[index].parameter.variance;
+
+  @override
+  bool get fromDill => false;
+
+  @override
+  int get typeVariablesCount => typeVariables?.length ?? 0;
+
+  @override
+  bool get isNullAlias {
+    TypeDeclarationBuilder typeDeclarationBuilder = type.declaration;
+    return typeDeclarationBuilder is ClassBuilder &&
+        typeDeclarationBuilder.isNullClass;
+  }
+
+  Typedef build(SourceLibraryBuilder libraryBuilder) {
+    typedef.type ??= buildThisType();
+
+    TypeBuilder type = this.type;
+    if (type is FunctionTypeBuilder) {
+      List<TypeParameter> typeParameters =
+          new List<TypeParameter>(type.typeVariables?.length ?? 0);
+      for (int i = 0; i < typeParameters.length; ++i) {
+        TypeVariableBuilder typeVariable = type.typeVariables[i];
+        typeParameters[i] = typeVariable.parameter;
+      }
+      FreshTypeParameters freshTypeParameters =
+          getFreshTypeParameters(typeParameters);
+      typedef.typeParametersOfFunctionType
+          .addAll(freshTypeParameters.freshTypeParameters);
+
+      if (type.formals != null) {
+        for (FormalParameterBuilder formal in type.formals) {
+          VariableDeclaration parameter = formal.build(libraryBuilder, 0);
+          parameter.type = freshTypeParameters.substitute(parameter.type);
+          if (formal.isNamed) {
+            typedef.namedParameters.add(parameter);
+          } else {
+            typedef.positionalParameters.add(parameter);
+          }
+        }
+      }
+    } else if (type is NamedTypeBuilder || type is FixedTypeBuilder) {
+      // No error, but also no additional setup work.
+    } else if (type != null) {
+      unhandled("${type.fullNameForErrors}", "build", charOffset, fileUri);
+    }
+
+    return typedef;
+  }
+
+  DartType buildThisType() {
+    if (thisType != null) {
+      if (identical(thisType, cyclicTypeAliasMarker)) {
+        library.addProblem(templateCyclicTypedef.withArguments(name),
+            charOffset, noLength, fileUri);
+        return const InvalidType();
+      }
+      return thisType;
+    }
+    // It is a compile-time error for an alias (typedef) to refer to itself. We
+    // detect cycles by detecting recursive calls to this method using an
+    // instance of InvalidType that isn't identical to `const InvalidType()`.
+    thisType = cyclicTypeAliasMarker;
+    TypeBuilder type = this.type;
+    if (type != null) {
+      DartType builtType =
+          type.build(library, thisTypedefType(typedef, library));
+      if (builtType != null) {
+        if (typeVariables != null) {
+          for (TypeVariableBuilder tv in typeVariables) {
+            // Follow bound in order to find all cycles
+            tv.bound?.build(library);
+          }
+        }
+        return thisType = builtType;
+      } else {
+        return thisType = const InvalidType();
+      }
+    }
+    return thisType = const InvalidType();
+  }
+
+  TypedefType thisTypedefType(Typedef typedef, LibraryBuilder clientLibrary) {
+    // At this point the bounds of `typedef.typeParameters` may not be assigned
+    // yet, so [getAsTypeArguments] may crash trying to compute the nullability
+    // of the created types from the bounds.  To avoid that, we use "dynamic"
+    // for the bound of all boundless variables and add them to the list for
+    // being recomputed later, when the bounds are assigned.
+    List<DartType> bounds =
+        new List<DartType>.filled(typedef.typeParameters.length, null);
+    for (int i = 0; i < bounds.length; ++i) {
+      bounds[i] = typedef.typeParameters[i].bound;
+      if (bounds[i] == null) {
+        typedef.typeParameters[i].bound = const DynamicType();
+      }
+    }
+    List<DartType> asTypeArguments =
+        getAsTypeArguments(typedef.typeParameters, clientLibrary.library);
+    TypedefType result =
+        new TypedefType(typedef, clientLibrary.nonNullable, asTypeArguments);
+    for (int i = 0; i < bounds.length; ++i) {
+      if (bounds[i] == null) {
+        // If the bound is not assigned yet, put the corresponding
+        // type-parameter type into the list for the nullability re-computation.
+        // At this point, [parent] should be a [SourceLibraryBuilder] because
+        // otherwise it's a compiled library loaded from a dill file, and the
+        // bounds should have been assigned.
+        SourceLibraryBuilder parentLibrary = parent;
+        parentLibrary.pendingNullabilities.add(asTypeArguments[i]);
+      }
+    }
+    return result;
+  }
+
+  @override
+  List<DartType> buildTypeArguments(
+      LibraryBuilder library, List<TypeBuilder> arguments,
+      [bool notInstanceContext]) {
+    if (arguments == null && typeVariables == null) {
+      return <DartType>[];
+    }
+
+    if (arguments == null && typeVariables != null) {
+      List<DartType> result =
+          new List<DartType>.filled(typeVariables.length, null, growable: true);
+      for (int i = 0; i < result.length; ++i) {
+        result[i] = typeVariables[i].defaultType.build(library);
+      }
+      if (library is SourceLibraryBuilder) {
+        library.inferredTypes.addAll(result);
+      }
+      return result;
+    }
+
+    if (arguments != null && arguments.length != typeVariablesCount) {
+      // That should be caught and reported as a compile-time error earlier.
+      return unhandled(
+          templateTypeArgumentMismatch
+              .withArguments(typeVariablesCount)
+              .message,
+          "buildTypeArguments",
+          -1,
+          null);
+    }
+
+    // arguments.length == typeVariables.length
+    List<DartType> result =
+        new List<DartType>.filled(arguments.length, null, growable: true);
+    for (int i = 0; i < result.length; ++i) {
+      result[i] = arguments[i].build(library);
+    }
+    return result;
+  }
+}
diff --git a/pkg/front_end/lib/src/fasta/util/direct_parser_ast.dart b/pkg/front_end/lib/src/fasta/util/direct_parser_ast.dart
new file mode 100644
index 0000000..68b390d
--- /dev/null
+++ b/pkg/front_end/lib/src/fasta/util/direct_parser_ast.dart
@@ -0,0 +1,178 @@
+// Copyright (c) 2020, 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 'dart:typed_data' show Uint8List;
+
+import 'dart:io' show File;
+
+import 'package:_fe_analyzer_shared/src/parser/parser.dart'
+    show ClassMemberParser, Parser;
+
+import 'package:_fe_analyzer_shared/src/scanner/utf8_bytes_scanner.dart'
+    show Utf8BytesScanner;
+
+import 'package:_fe_analyzer_shared/src/scanner/token.dart' show Token;
+
+import 'package:front_end/src/fasta/util/direct_parser_ast_helper.dart'
+    show
+        AbstractDirectParserASTListener,
+        DirectParserASTContent,
+        DirectParserASTType;
+
+DirectParserASTContent getAST(List<int> rawBytes, {bool includeBody: true}) {
+  Uint8List bytes = new Uint8List(rawBytes.length + 1);
+  bytes.setRange(0, rawBytes.length, rawBytes);
+
+  Utf8BytesScanner scanner =
+      new Utf8BytesScanner(bytes, includeComments: false);
+  Token firstToken = scanner.tokenize();
+  if (firstToken == null) {
+    throw "firstToken is null";
+  }
+
+  DirectParserASTListener listener = new DirectParserASTListener();
+  Parser parser;
+  if (includeBody) {
+    parser = new Parser(listener);
+  } else {
+    parser = new ClassMemberParser(listener);
+  }
+  parser.parseUnit(firstToken);
+  return listener.data.single;
+}
+
+main(List<String> args) {
+  File f = new File(args[0]);
+  Uint8List data = f.readAsBytesSync();
+  DirectParserASTContent ast = getAST(data);
+  if (args.length > 1 && args[1] == "--benchmark") {
+    Stopwatch stopwatch = new Stopwatch()..start();
+    int numRuns = 100;
+    for (int i = 0; i < numRuns; i++) {
+      DirectParserASTContent ast2 = getAST(data);
+      if (ast.what != ast2.what) {
+        throw "Not the same result every time";
+      }
+    }
+    stopwatch.stop();
+    print("First $numRuns took ${stopwatch.elapsedMilliseconds} ms "
+        "(i.e. ${stopwatch.elapsedMilliseconds / numRuns}ms/iteration)");
+    stopwatch = new Stopwatch()..start();
+    numRuns = 2500;
+    for (int i = 0; i < numRuns; i++) {
+      DirectParserASTContent ast2 = getAST(data);
+      if (ast.what != ast2.what) {
+        throw "Not the same result every time";
+      }
+    }
+    stopwatch.stop();
+    print("Next $numRuns took ${stopwatch.elapsedMilliseconds} ms "
+        "(i.e. ${stopwatch.elapsedMilliseconds / numRuns}ms/iteration)");
+  } else {
+    print(ast);
+  }
+}
+
+class DirectParserASTListener extends AbstractDirectParserASTListener {
+  void seen(
+      String what, DirectParserASTType type, Map<String, Object> arguments) {
+    switch (type) {
+      case DirectParserASTType.BEGIN:
+      case DirectParserASTType.HANDLE:
+        // This just adds stuff.
+        data.add(new DirectParserASTContent(what, type, arguments));
+        break;
+      case DirectParserASTType.DONE:
+        // This shouldn't be seen. It's artificial.
+        throw new StateError("Saw type 'DONE'");
+      case DirectParserASTType.END:
+        // End should gobble up everything until the corresponding begin (which
+        // should be the latest begin).
+        int beginIndex;
+        for (int i = data.length - 1; i >= 0; i--) {
+          if (data[i].type == DirectParserASTType.BEGIN) {
+            beginIndex = i;
+            break;
+          }
+        }
+        if (beginIndex == null) {
+          throw "Couldn't find a begin for $what. Has:\n"
+              "${data.map((e) => "${e.what}: ${e.type}").join("\n")}";
+        }
+        String begin = data[beginIndex].what;
+        String end = what;
+        if (begin == end) {
+          // Exact match.
+        } else if (end == "TopLevelDeclaration" &&
+            (begin == "ExtensionDeclarationPrelude" ||
+                begin == "ClassOrNamedMixinApplicationPrelude" ||
+                begin == "TopLevelMember" ||
+                begin == "UncategorizedTopLevelDeclaration")) {
+          // endTopLevelDeclaration is started by one of
+          // beginExtensionDeclarationPrelude,
+          // beginClassOrNamedMixinApplicationPrelude
+          // beginTopLevelMember or beginUncategorizedTopLevelDeclaration.
+        } else if (begin == "Method" &&
+            (end == "ClassConstructor" ||
+                end == "ClassMethod" ||
+                end == "ExtensionConstructor" ||
+                end == "ExtensionMethod" ||
+                end == "MixinConstructor" ||
+                end == "MixinMethod")) {
+          // beginMethod is ended by one of endClassConstructor, endClassMethod,
+          // endExtensionMethod, endMixinConstructor or endMixinMethod.
+        } else if (begin == "Fields" &&
+            (end == "TopLevelFields" ||
+                end == "ClassFields" ||
+                end == "MixinFields" ||
+                end == "ExtensionFields")) {
+          // beginFields is ended by one of endTopLevelFields, endMixinFields or
+          // endExtensionFields.
+        } else if (begin == "ForStatement" && end == "ForIn") {
+          // beginForStatement is ended by either endForStatement or endForIn.
+        } else if (begin == "FactoryMethod" &&
+            (end == "ClassFactoryMethod" ||
+                end == "MixinFactoryMethod" ||
+                end == "ExtensionFactoryMethod")) {
+          // beginFactoryMethod is ended by either endClassFactoryMethod,
+          // endMixinFactoryMethod or endExtensionFactoryMethod.
+        } else if (begin == "ForControlFlow" && (end == "ForInControlFlow")) {
+          // beginForControlFlow is ended by either endForControlFlow or
+          // endForInControlFlow.
+        } else if (begin == "IfControlFlow" && (end == "IfElseControlFlow")) {
+          // beginIfControlFlow is ended by either endIfControlFlow or
+          // endIfElseControlFlow.
+        } else if (begin == "AwaitExpression" &&
+            (end == "InvalidAwaitExpression")) {
+          // beginAwaitExpression is ended by either endAwaitExpression or
+          // endInvalidAwaitExpression.
+        } else if (begin == "YieldStatement" &&
+            (end == "InvalidYieldStatement")) {
+          // beginYieldStatement is ended by either endYieldStatement or
+          // endInvalidYieldStatement.
+        } else {
+          throw "Unknown combination: begin$begin and end$end";
+        }
+        List<DirectParserASTContent> content = data.sublist(beginIndex);
+        data.length = beginIndex;
+        data.add(new DirectParserASTContent(
+            what, DirectParserASTType.DONE, arguments)
+          ..content = content);
+        break;
+    }
+  }
+
+  @override
+  void reportVarianceModifierNotEnabled(Token variance) {
+    throw new UnimplementedError();
+  }
+
+  @override
+  Uri get uri => throw new UnimplementedError();
+
+  @override
+  void logEvent(String name) {
+    throw new UnimplementedError();
+  }
+}
diff --git a/pkg/front_end/lib/src/fasta/util/direct_parser_ast_helper.dart b/pkg/front_end/lib/src/fasta/util/direct_parser_ast_helper.dart
new file mode 100644
index 0000000..7da31a4
--- /dev/null
+++ b/pkg/front_end/lib/src/fasta/util/direct_parser_ast_helper.dart
@@ -0,0 +1,1702 @@
+// Copyright (c) 2020, 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:_fe_analyzer_shared/src/parser/assert.dart';
+import 'package:_fe_analyzer_shared/src/parser/block_kind.dart';
+import 'package:_fe_analyzer_shared/src/parser/declaration_kind.dart';
+import 'package:_fe_analyzer_shared/src/parser/formal_parameter_kind.dart';
+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/member_kind.dart';
+import 'package:_fe_analyzer_shared/src/scanner/error_token.dart';
+import 'package:_fe_analyzer_shared/src/scanner/token.dart';
+import 'package:front_end/src/fasta/messages.dart';
+
+// THIS FILE IS AUTO GENERATED BY
+// 'tool/_fasta/direct_parser_ast_helper_creator.dart'
+// Run e.g.
+/*
+   out/ReleaseX64/dart \
+     pkg/front_end/tool/_fasta/direct_parser_ast_helper_creator.dart \
+      > pkg/front_end/lib/src/fasta/util/direct_parser_ast_helper.dart
+*/
+
+class DirectParserASTContent {
+  final String what;
+  final DirectParserASTType type;
+  final Map<String, Object> arguments;
+  List<DirectParserASTContent> content;
+
+  DirectParserASTContent(this.what, this.type, this.arguments);
+
+  // TODO(jensj): Compare two ASTs.
+}
+
+enum DirectParserASTType { BEGIN, END, HANDLE, DONE }
+
+abstract class AbstractDirectParserASTListener implements Listener {
+  List<DirectParserASTContent> data = [];
+
+  void seen(
+      String what, DirectParserASTType type, Map<String, Object> arguments);
+
+  void beginArguments(Token token) {
+    seen("Arguments", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endArguments(int count, Token beginToken, Token endToken) {
+    seen("Arguments", DirectParserASTType.END,
+        {"count": count, "beginToken": beginToken, "endToken": endToken});
+  }
+
+  void handleAsyncModifier(Token asyncToken, Token starToken) {
+    seen("AsyncModifier", DirectParserASTType.HANDLE,
+        {"asyncToken": asyncToken, "starToken": starToken});
+  }
+
+  void beginAwaitExpression(Token token) {
+    seen("AwaitExpression", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endAwaitExpression(Token beginToken, Token endToken) {
+    seen("AwaitExpression", DirectParserASTType.END,
+        {"beginToken": beginToken, "endToken": endToken});
+  }
+
+  void endInvalidAwaitExpression(
+      Token beginToken, Token endToken, MessageCode errorCode) {
+    seen("InvalidAwaitExpression", DirectParserASTType.END, {
+      "beginToken": beginToken,
+      "endToken": endToken,
+      "errorCode": errorCode
+    });
+  }
+
+  void beginBlock(Token token, BlockKind blockKind) {
+    seen("Block", DirectParserASTType.BEGIN,
+        {"token": token, "blockKind": blockKind});
+  }
+
+  void endBlock(
+      int count, Token beginToken, Token endToken, BlockKind blockKind) {
+    seen("Block", DirectParserASTType.END, {
+      "count": count,
+      "beginToken": beginToken,
+      "endToken": endToken,
+      "blockKind": blockKind
+    });
+  }
+
+  void handleInvalidTopLevelBlock(Token token) {
+    seen("InvalidTopLevelBlock", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void beginCascade(Token token) {
+    seen("Cascade", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endCascade() {
+    seen("Cascade", DirectParserASTType.END, {});
+  }
+
+  void beginCaseExpression(Token caseKeyword) {
+    seen("CaseExpression", DirectParserASTType.BEGIN,
+        {"caseKeyword": caseKeyword});
+  }
+
+  void endCaseExpression(Token colon) {
+    seen("CaseExpression", DirectParserASTType.END, {"colon": colon});
+  }
+
+  void beginClassOrMixinBody(DeclarationKind kind, Token token) {
+    seen("ClassOrMixinBody", DirectParserASTType.BEGIN,
+        {"kind": kind, "token": token});
+  }
+
+  void endClassOrMixinBody(
+      DeclarationKind kind, int memberCount, Token beginToken, Token endToken) {
+    seen("ClassOrMixinBody", DirectParserASTType.END, {
+      "kind": kind,
+      "memberCount": memberCount,
+      "beginToken": beginToken,
+      "endToken": endToken
+    });
+  }
+
+  void beginClassOrNamedMixinApplicationPrelude(Token token) {
+    seen("ClassOrNamedMixinApplicationPrelude", DirectParserASTType.BEGIN,
+        {"token": token});
+  }
+
+  void beginClassDeclaration(Token begin, Token abstractToken, Token name) {
+    seen("ClassDeclaration", DirectParserASTType.BEGIN,
+        {"begin": begin, "abstractToken": abstractToken, "name": name});
+  }
+
+  void handleClassExtends(Token extendsKeyword, int typeCount) {
+    seen("ClassExtends", DirectParserASTType.HANDLE,
+        {"extendsKeyword": extendsKeyword, "typeCount": typeCount});
+  }
+
+  void handleClassOrMixinImplements(
+      Token implementsKeyword, int interfacesCount) {
+    seen("ClassOrMixinImplements", DirectParserASTType.HANDLE, {
+      "implementsKeyword": implementsKeyword,
+      "interfacesCount": interfacesCount
+    });
+  }
+
+  void handleClassHeader(Token begin, Token classKeyword, Token nativeToken) {
+    seen("ClassHeader", DirectParserASTType.HANDLE, {
+      "begin": begin,
+      "classKeyword": classKeyword,
+      "nativeToken": nativeToken
+    });
+  }
+
+  void handleRecoverClassHeader() {
+    seen("RecoverClassHeader", DirectParserASTType.HANDLE, {});
+  }
+
+  void endClassDeclaration(Token beginToken, Token endToken) {
+    seen("ClassDeclaration", DirectParserASTType.END,
+        {"beginToken": beginToken, "endToken": endToken});
+  }
+
+  void beginMixinDeclaration(Token mixinKeyword, Token name) {
+    seen("MixinDeclaration", DirectParserASTType.BEGIN,
+        {"mixinKeyword": mixinKeyword, "name": name});
+  }
+
+  void handleMixinOn(Token onKeyword, int typeCount) {
+    seen("MixinOn", DirectParserASTType.HANDLE,
+        {"onKeyword": onKeyword, "typeCount": typeCount});
+  }
+
+  void handleMixinHeader(Token mixinKeyword) {
+    seen("MixinHeader", DirectParserASTType.HANDLE,
+        {"mixinKeyword": mixinKeyword});
+  }
+
+  void handleRecoverMixinHeader() {
+    seen("RecoverMixinHeader", DirectParserASTType.HANDLE, {});
+  }
+
+  void endMixinDeclaration(Token mixinKeyword, Token endToken) {
+    seen("MixinDeclaration", DirectParserASTType.END,
+        {"mixinKeyword": mixinKeyword, "endToken": endToken});
+  }
+
+  void beginUncategorizedTopLevelDeclaration(Token token) {
+    seen("UncategorizedTopLevelDeclaration", DirectParserASTType.BEGIN,
+        {"token": token});
+  }
+
+  void beginExtensionDeclarationPrelude(Token extensionKeyword) {
+    seen("ExtensionDeclarationPrelude", DirectParserASTType.BEGIN,
+        {"extensionKeyword": extensionKeyword});
+  }
+
+  void beginExtensionDeclaration(Token extensionKeyword, Token name) {
+    seen("ExtensionDeclaration", DirectParserASTType.BEGIN,
+        {"extensionKeyword": extensionKeyword, "name": name});
+  }
+
+  void endExtensionDeclaration(
+      Token extensionKeyword, Token onKeyword, Token endToken) {
+    seen("ExtensionDeclaration", DirectParserASTType.END, {
+      "extensionKeyword": extensionKeyword,
+      "onKeyword": onKeyword,
+      "endToken": endToken
+    });
+  }
+
+  void beginCombinators(Token token) {
+    seen("Combinators", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endCombinators(int count) {
+    seen("Combinators", DirectParserASTType.END, {"count": count});
+  }
+
+  void beginCompilationUnit(Token token) {
+    seen("CompilationUnit", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void handleDirectivesOnly() {
+    seen("DirectivesOnly", DirectParserASTType.HANDLE, {});
+  }
+
+  void endCompilationUnit(int count, Token token) {
+    seen("CompilationUnit", DirectParserASTType.END,
+        {"count": count, "token": token});
+  }
+
+  void beginConstLiteral(Token token) {
+    seen("ConstLiteral", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endConstLiteral(Token token) {
+    seen("ConstLiteral", DirectParserASTType.END, {"token": token});
+  }
+
+  void beginConstructorReference(Token start) {
+    seen("ConstructorReference", DirectParserASTType.BEGIN, {"start": start});
+  }
+
+  void endConstructorReference(
+      Token start, Token periodBeforeName, Token endToken) {
+    seen("ConstructorReference", DirectParserASTType.END, {
+      "start": start,
+      "periodBeforeName": periodBeforeName,
+      "endToken": endToken
+    });
+  }
+
+  void beginDoWhileStatement(Token token) {
+    seen("DoWhileStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endDoWhileStatement(
+      Token doKeyword, Token whileKeyword, Token endToken) {
+    seen("DoWhileStatement", DirectParserASTType.END, {
+      "doKeyword": doKeyword,
+      "whileKeyword": whileKeyword,
+      "endToken": endToken
+    });
+  }
+
+  void beginDoWhileStatementBody(Token token) {
+    seen("DoWhileStatementBody", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endDoWhileStatementBody(Token token) {
+    seen("DoWhileStatementBody", DirectParserASTType.END, {"token": token});
+  }
+
+  void beginWhileStatementBody(Token token) {
+    seen("WhileStatementBody", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endWhileStatementBody(Token token) {
+    seen("WhileStatementBody", DirectParserASTType.END, {"token": token});
+  }
+
+  void beginEnum(Token enumKeyword) {
+    seen("Enum", DirectParserASTType.BEGIN, {"enumKeyword": enumKeyword});
+  }
+
+  void endEnum(Token enumKeyword, Token leftBrace, int count) {
+    seen("Enum", DirectParserASTType.END,
+        {"enumKeyword": enumKeyword, "leftBrace": leftBrace, "count": count});
+  }
+
+  void beginExport(Token token) {
+    seen("Export", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endExport(Token exportKeyword, Token semicolon) {
+    seen("Export", DirectParserASTType.END,
+        {"exportKeyword": exportKeyword, "semicolon": semicolon});
+  }
+
+  void handleExtraneousExpression(Token token, Message message) {
+    seen("ExtraneousExpression", DirectParserASTType.HANDLE,
+        {"token": token, "message": message});
+  }
+
+  void handleExpressionStatement(Token token) {
+    seen("ExpressionStatement", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void beginFactoryMethod(
+      Token lastConsumed, Token externalToken, Token constToken) {
+    seen("FactoryMethod", DirectParserASTType.BEGIN, {
+      "lastConsumed": lastConsumed,
+      "externalToken": externalToken,
+      "constToken": constToken
+    });
+  }
+
+  void endClassFactoryMethod(
+      Token beginToken, Token factoryKeyword, Token endToken) {
+    seen("ClassFactoryMethod", DirectParserASTType.END, {
+      "beginToken": beginToken,
+      "factoryKeyword": factoryKeyword,
+      "endToken": endToken
+    });
+  }
+
+  void endMixinFactoryMethod(
+      Token beginToken, Token factoryKeyword, Token endToken) {
+    seen("MixinFactoryMethod", DirectParserASTType.END, {
+      "beginToken": beginToken,
+      "factoryKeyword": factoryKeyword,
+      "endToken": endToken
+    });
+  }
+
+  void endExtensionFactoryMethod(
+      Token beginToken, Token factoryKeyword, Token endToken) {
+    seen("ExtensionFactoryMethod", DirectParserASTType.END, {
+      "beginToken": beginToken,
+      "factoryKeyword": factoryKeyword,
+      "endToken": endToken
+    });
+  }
+
+  void beginFormalParameter(Token token, MemberKind kind, Token requiredToken,
+      Token covariantToken, Token varFinalOrConst) {
+    seen("FormalParameter", DirectParserASTType.BEGIN, {
+      "token": token,
+      "kind": kind,
+      "requiredToken": requiredToken,
+      "covariantToken": covariantToken,
+      "varFinalOrConst": varFinalOrConst
+    });
+  }
+
+  void endFormalParameter(
+      Token thisKeyword,
+      Token periodAfterThis,
+      Token nameToken,
+      Token initializerStart,
+      Token initializerEnd,
+      FormalParameterKind kind,
+      MemberKind memberKind) {
+    seen("FormalParameter", DirectParserASTType.END, {
+      "thisKeyword": thisKeyword,
+      "periodAfterThis": periodAfterThis,
+      "nameToken": nameToken,
+      "initializerStart": initializerStart,
+      "initializerEnd": initializerEnd,
+      "kind": kind,
+      "memberKind": memberKind
+    });
+  }
+
+  void handleNoFormalParameters(Token token, MemberKind kind) {
+    seen("NoFormalParameters", DirectParserASTType.HANDLE,
+        {"token": token, "kind": kind});
+  }
+
+  void beginFormalParameters(Token token, MemberKind kind) {
+    seen("FormalParameters", DirectParserASTType.BEGIN,
+        {"token": token, "kind": kind});
+  }
+
+  void endFormalParameters(
+      int count, Token beginToken, Token endToken, MemberKind kind) {
+    seen("FormalParameters", DirectParserASTType.END, {
+      "count": count,
+      "beginToken": beginToken,
+      "endToken": endToken,
+      "kind": kind
+    });
+  }
+
+  void endClassFields(
+      Token abstractToken,
+      Token externalToken,
+      Token staticToken,
+      Token covariantToken,
+      Token lateToken,
+      Token varFinalOrConst,
+      int count,
+      Token beginToken,
+      Token endToken) {
+    seen("ClassFields", DirectParserASTType.END, {
+      "abstractToken": abstractToken,
+      "externalToken": externalToken,
+      "staticToken": staticToken,
+      "covariantToken": covariantToken,
+      "lateToken": lateToken,
+      "varFinalOrConst": varFinalOrConst,
+      "count": count,
+      "beginToken": beginToken,
+      "endToken": endToken
+    });
+  }
+
+  void endMixinFields(
+      Token abstractToken,
+      Token externalToken,
+      Token staticToken,
+      Token covariantToken,
+      Token lateToken,
+      Token varFinalOrConst,
+      int count,
+      Token beginToken,
+      Token endToken) {
+    seen("MixinFields", DirectParserASTType.END, {
+      "abstractToken": abstractToken,
+      "externalToken": externalToken,
+      "staticToken": staticToken,
+      "covariantToken": covariantToken,
+      "lateToken": lateToken,
+      "varFinalOrConst": varFinalOrConst,
+      "count": count,
+      "beginToken": beginToken,
+      "endToken": endToken
+    });
+  }
+
+  void endExtensionFields(
+      Token abstractToken,
+      Token externalToken,
+      Token staticToken,
+      Token covariantToken,
+      Token lateToken,
+      Token varFinalOrConst,
+      int count,
+      Token beginToken,
+      Token endToken) {
+    seen("ExtensionFields", DirectParserASTType.END, {
+      "abstractToken": abstractToken,
+      "externalToken": externalToken,
+      "staticToken": staticToken,
+      "covariantToken": covariantToken,
+      "lateToken": lateToken,
+      "varFinalOrConst": varFinalOrConst,
+      "count": count,
+      "beginToken": beginToken,
+      "endToken": endToken
+    });
+  }
+
+  void handleForInitializerEmptyStatement(Token token) {
+    seen("ForInitializerEmptyStatement", DirectParserASTType.HANDLE,
+        {"token": token});
+  }
+
+  void handleForInitializerExpressionStatement(Token token, bool forIn) {
+    seen("ForInitializerExpressionStatement", DirectParserASTType.HANDLE,
+        {"token": token, "forIn": forIn});
+  }
+
+  void handleForInitializerLocalVariableDeclaration(Token token, bool forIn) {
+    seen("ForInitializerLocalVariableDeclaration", DirectParserASTType.HANDLE,
+        {"token": token, "forIn": forIn});
+  }
+
+  void beginForStatement(Token token) {
+    seen("ForStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void handleForLoopParts(Token forKeyword, Token leftParen,
+      Token leftSeparator, int updateExpressionCount) {
+    seen("ForLoopParts", DirectParserASTType.HANDLE, {
+      "forKeyword": forKeyword,
+      "leftParen": leftParen,
+      "leftSeparator": leftSeparator,
+      "updateExpressionCount": updateExpressionCount
+    });
+  }
+
+  void endForStatement(Token endToken) {
+    seen("ForStatement", DirectParserASTType.END, {"endToken": endToken});
+  }
+
+  void beginForStatementBody(Token token) {
+    seen("ForStatementBody", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endForStatementBody(Token token) {
+    seen("ForStatementBody", DirectParserASTType.END, {"token": token});
+  }
+
+  void handleForInLoopParts(Token awaitToken, Token forToken,
+      Token leftParenthesis, Token inKeyword) {
+    seen("ForInLoopParts", DirectParserASTType.HANDLE, {
+      "awaitToken": awaitToken,
+      "forToken": forToken,
+      "leftParenthesis": leftParenthesis,
+      "inKeyword": inKeyword
+    });
+  }
+
+  void endForIn(Token endToken) {
+    seen("ForIn", DirectParserASTType.END, {"endToken": endToken});
+  }
+
+  void beginForInExpression(Token token) {
+    seen("ForInExpression", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endForInExpression(Token token) {
+    seen("ForInExpression", DirectParserASTType.END, {"token": token});
+  }
+
+  void beginForInBody(Token token) {
+    seen("ForInBody", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endForInBody(Token token) {
+    seen("ForInBody", DirectParserASTType.END, {"token": token});
+  }
+
+  void beginNamedFunctionExpression(Token token) {
+    seen(
+        "NamedFunctionExpression", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endNamedFunctionExpression(Token endToken) {
+    seen("NamedFunctionExpression", DirectParserASTType.END,
+        {"endToken": endToken});
+  }
+
+  void beginLocalFunctionDeclaration(Token token) {
+    seen("LocalFunctionDeclaration", DirectParserASTType.BEGIN,
+        {"token": token});
+  }
+
+  void endLocalFunctionDeclaration(Token endToken) {
+    seen("LocalFunctionDeclaration", DirectParserASTType.END,
+        {"endToken": endToken});
+  }
+
+  void beginBlockFunctionBody(Token token) {
+    seen("BlockFunctionBody", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endBlockFunctionBody(int count, Token beginToken, Token endToken) {
+    seen("BlockFunctionBody", DirectParserASTType.END,
+        {"count": count, "beginToken": beginToken, "endToken": endToken});
+  }
+
+  void handleNoFunctionBody(Token token) {
+    seen("NoFunctionBody", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleFunctionBodySkipped(Token token, bool isExpressionBody) {
+    seen("FunctionBodySkipped", DirectParserASTType.HANDLE,
+        {"token": token, "isExpressionBody": isExpressionBody});
+  }
+
+  void beginFunctionName(Token token) {
+    seen("FunctionName", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endFunctionName(Token beginToken, Token token) {
+    seen("FunctionName", DirectParserASTType.END,
+        {"beginToken": beginToken, "token": token});
+  }
+
+  void beginFunctionTypeAlias(Token token) {
+    seen("FunctionTypeAlias", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endFunctionTypeAlias(
+      Token typedefKeyword, Token equals, Token endToken) {
+    seen("FunctionTypeAlias", DirectParserASTType.END, {
+      "typedefKeyword": typedefKeyword,
+      "equals": equals,
+      "endToken": endToken
+    });
+  }
+
+  void handleClassWithClause(Token withKeyword) {
+    seen("ClassWithClause", DirectParserASTType.HANDLE,
+        {"withKeyword": withKeyword});
+  }
+
+  void handleClassNoWithClause() {
+    seen("ClassNoWithClause", DirectParserASTType.HANDLE, {});
+  }
+
+  void beginNamedMixinApplication(
+      Token begin, Token abstractToken, Token name) {
+    seen("NamedMixinApplication", DirectParserASTType.BEGIN,
+        {"begin": begin, "abstractToken": abstractToken, "name": name});
+  }
+
+  void handleNamedMixinApplicationWithClause(Token withKeyword) {
+    seen("NamedMixinApplicationWithClause", DirectParserASTType.HANDLE,
+        {"withKeyword": withKeyword});
+  }
+
+  void endNamedMixinApplication(Token begin, Token classKeyword, Token equals,
+      Token implementsKeyword, Token endToken) {
+    seen("NamedMixinApplication", DirectParserASTType.END, {
+      "begin": begin,
+      "classKeyword": classKeyword,
+      "equals": equals,
+      "implementsKeyword": implementsKeyword,
+      "endToken": endToken
+    });
+  }
+
+  void beginHide(Token hideKeyword) {
+    seen("Hide", DirectParserASTType.BEGIN, {"hideKeyword": hideKeyword});
+  }
+
+  void endHide(Token hideKeyword) {
+    seen("Hide", DirectParserASTType.END, {"hideKeyword": hideKeyword});
+  }
+
+  void handleIdentifierList(int count) {
+    seen("IdentifierList", DirectParserASTType.HANDLE, {"count": count});
+  }
+
+  void beginTypeList(Token token) {
+    seen("TypeList", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endTypeList(int count) {
+    seen("TypeList", DirectParserASTType.END, {"count": count});
+  }
+
+  void beginIfStatement(Token token) {
+    seen("IfStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endIfStatement(Token ifToken, Token elseToken) {
+    seen("IfStatement", DirectParserASTType.END,
+        {"ifToken": ifToken, "elseToken": elseToken});
+  }
+
+  void beginThenStatement(Token token) {
+    seen("ThenStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endThenStatement(Token token) {
+    seen("ThenStatement", DirectParserASTType.END, {"token": token});
+  }
+
+  void beginElseStatement(Token token) {
+    seen("ElseStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endElseStatement(Token token) {
+    seen("ElseStatement", DirectParserASTType.END, {"token": token});
+  }
+
+  void beginImport(Token importKeyword) {
+    seen("Import", DirectParserASTType.BEGIN, {"importKeyword": importKeyword});
+  }
+
+  void handleImportPrefix(Token deferredKeyword, Token asKeyword) {
+    seen("ImportPrefix", DirectParserASTType.HANDLE,
+        {"deferredKeyword": deferredKeyword, "asKeyword": asKeyword});
+  }
+
+  void endImport(Token importKeyword, Token semicolon) {
+    seen("Import", DirectParserASTType.END,
+        {"importKeyword": importKeyword, "semicolon": semicolon});
+  }
+
+  void handleRecoverImport(Token semicolon) {
+    seen("RecoverImport", DirectParserASTType.HANDLE, {"semicolon": semicolon});
+  }
+
+  void beginConditionalUris(Token token) {
+    seen("ConditionalUris", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endConditionalUris(int count) {
+    seen("ConditionalUris", DirectParserASTType.END, {"count": count});
+  }
+
+  void beginConditionalUri(Token ifKeyword) {
+    seen("ConditionalUri", DirectParserASTType.BEGIN, {"ifKeyword": ifKeyword});
+  }
+
+  void endConditionalUri(Token ifKeyword, Token leftParen, Token equalSign) {
+    seen("ConditionalUri", DirectParserASTType.END, {
+      "ifKeyword": ifKeyword,
+      "leftParen": leftParen,
+      "equalSign": equalSign
+    });
+  }
+
+  void handleDottedName(int count, Token firstIdentifier) {
+    seen("DottedName", DirectParserASTType.HANDLE,
+        {"count": count, "firstIdentifier": firstIdentifier});
+  }
+
+  void beginImplicitCreationExpression(Token token) {
+    seen("ImplicitCreationExpression", DirectParserASTType.BEGIN,
+        {"token": token});
+  }
+
+  void endImplicitCreationExpression(Token token) {
+    seen("ImplicitCreationExpression", DirectParserASTType.END,
+        {"token": token});
+  }
+
+  void beginInitializedIdentifier(Token token) {
+    seen("InitializedIdentifier", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endInitializedIdentifier(Token nameToken) {
+    seen("InitializedIdentifier", DirectParserASTType.END,
+        {"nameToken": nameToken});
+  }
+
+  void beginFieldInitializer(Token token) {
+    seen("FieldInitializer", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endFieldInitializer(Token assignment, Token token) {
+    seen("FieldInitializer", DirectParserASTType.END,
+        {"assignment": assignment, "token": token});
+  }
+
+  void handleNoFieldInitializer(Token token) {
+    seen("NoFieldInitializer", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void beginVariableInitializer(Token token) {
+    seen("VariableInitializer", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endVariableInitializer(Token assignmentOperator) {
+    seen("VariableInitializer", DirectParserASTType.END,
+        {"assignmentOperator": assignmentOperator});
+  }
+
+  void handleNoVariableInitializer(Token token) {
+    seen("NoVariableInitializer", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void beginInitializer(Token token) {
+    seen("Initializer", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endInitializer(Token token) {
+    seen("Initializer", DirectParserASTType.END, {"token": token});
+  }
+
+  void beginInitializers(Token token) {
+    seen("Initializers", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endInitializers(int count, Token beginToken, Token endToken) {
+    seen("Initializers", DirectParserASTType.END,
+        {"count": count, "beginToken": beginToken, "endToken": endToken});
+  }
+
+  void handleNoInitializers() {
+    seen("NoInitializers", DirectParserASTType.HANDLE, {});
+  }
+
+  void handleInvalidExpression(Token token) {
+    seen("InvalidExpression", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleInvalidFunctionBody(Token token) {
+    seen("InvalidFunctionBody", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleInvalidTypeReference(Token token) {
+    seen("InvalidTypeReference", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleLabel(Token token) {
+    seen("Label", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void beginLabeledStatement(Token token, int labelCount) {
+    seen("LabeledStatement", DirectParserASTType.BEGIN,
+        {"token": token, "labelCount": labelCount});
+  }
+
+  void endLabeledStatement(int labelCount) {
+    seen("LabeledStatement", DirectParserASTType.END,
+        {"labelCount": labelCount});
+  }
+
+  void beginLibraryName(Token token) {
+    seen("LibraryName", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endLibraryName(Token libraryKeyword, Token semicolon) {
+    seen("LibraryName", DirectParserASTType.END,
+        {"libraryKeyword": libraryKeyword, "semicolon": semicolon});
+  }
+
+  void handleLiteralMapEntry(Token colon, Token endToken) {
+    seen("LiteralMapEntry", DirectParserASTType.HANDLE,
+        {"colon": colon, "endToken": endToken});
+  }
+
+  void beginLiteralString(Token token) {
+    seen("LiteralString", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void handleInterpolationExpression(Token leftBracket, Token rightBracket) {
+    seen("InterpolationExpression", DirectParserASTType.HANDLE,
+        {"leftBracket": leftBracket, "rightBracket": rightBracket});
+  }
+
+  void endLiteralString(int interpolationCount, Token endToken) {
+    seen("LiteralString", DirectParserASTType.END,
+        {"interpolationCount": interpolationCount, "endToken": endToken});
+  }
+
+  void handleStringJuxtaposition(Token startToken, int literalCount) {
+    seen("StringJuxtaposition", DirectParserASTType.HANDLE,
+        {"startToken": startToken, "literalCount": literalCount});
+  }
+
+  void beginMember() {
+    seen("Member", DirectParserASTType.BEGIN, {});
+  }
+
+  void handleInvalidMember(Token endToken) {
+    seen("InvalidMember", DirectParserASTType.HANDLE, {"endToken": endToken});
+  }
+
+  void endMember() {
+    seen("Member", DirectParserASTType.END, {});
+  }
+
+  void beginMethod(Token externalToken, Token staticToken, Token covariantToken,
+      Token varFinalOrConst, Token getOrSet, Token name) {
+    seen("Method", DirectParserASTType.BEGIN, {
+      "externalToken": externalToken,
+      "staticToken": staticToken,
+      "covariantToken": covariantToken,
+      "varFinalOrConst": varFinalOrConst,
+      "getOrSet": getOrSet,
+      "name": name
+    });
+  }
+
+  void endClassMethod(Token getOrSet, Token beginToken, Token beginParam,
+      Token beginInitializers, Token endToken) {
+    seen("ClassMethod", DirectParserASTType.END, {
+      "getOrSet": getOrSet,
+      "beginToken": beginToken,
+      "beginParam": beginParam,
+      "beginInitializers": beginInitializers,
+      "endToken": endToken
+    });
+  }
+
+  void endMixinMethod(Token getOrSet, Token beginToken, Token beginParam,
+      Token beginInitializers, Token endToken) {
+    seen("MixinMethod", DirectParserASTType.END, {
+      "getOrSet": getOrSet,
+      "beginToken": beginToken,
+      "beginParam": beginParam,
+      "beginInitializers": beginInitializers,
+      "endToken": endToken
+    });
+  }
+
+  void endExtensionMethod(Token getOrSet, Token beginToken, Token beginParam,
+      Token beginInitializers, Token endToken) {
+    seen("ExtensionMethod", DirectParserASTType.END, {
+      "getOrSet": getOrSet,
+      "beginToken": beginToken,
+      "beginParam": beginParam,
+      "beginInitializers": beginInitializers,
+      "endToken": endToken
+    });
+  }
+
+  void endClassConstructor(Token getOrSet, Token beginToken, Token beginParam,
+      Token beginInitializers, Token endToken) {
+    seen("ClassConstructor", DirectParserASTType.END, {
+      "getOrSet": getOrSet,
+      "beginToken": beginToken,
+      "beginParam": beginParam,
+      "beginInitializers": beginInitializers,
+      "endToken": endToken
+    });
+  }
+
+  void endMixinConstructor(Token getOrSet, Token beginToken, Token beginParam,
+      Token beginInitializers, Token endToken) {
+    seen("MixinConstructor", DirectParserASTType.END, {
+      "getOrSet": getOrSet,
+      "beginToken": beginToken,
+      "beginParam": beginParam,
+      "beginInitializers": beginInitializers,
+      "endToken": endToken
+    });
+  }
+
+  void endExtensionConstructor(Token getOrSet, Token beginToken,
+      Token beginParam, Token beginInitializers, Token endToken) {
+    seen("ExtensionConstructor", DirectParserASTType.END, {
+      "getOrSet": getOrSet,
+      "beginToken": beginToken,
+      "beginParam": beginParam,
+      "beginInitializers": beginInitializers,
+      "endToken": endToken
+    });
+  }
+
+  void beginMetadataStar(Token token) {
+    seen("MetadataStar", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endMetadataStar(int count) {
+    seen("MetadataStar", DirectParserASTType.END, {"count": count});
+  }
+
+  void beginMetadata(Token token) {
+    seen("Metadata", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) {
+    seen("Metadata", DirectParserASTType.END, {
+      "beginToken": beginToken,
+      "periodBeforeName": periodBeforeName,
+      "endToken": endToken
+    });
+  }
+
+  void beginOptionalFormalParameters(Token token) {
+    seen("OptionalFormalParameters", DirectParserASTType.BEGIN,
+        {"token": token});
+  }
+
+  void endOptionalFormalParameters(
+      int count, Token beginToken, Token endToken) {
+    seen("OptionalFormalParameters", DirectParserASTType.END,
+        {"count": count, "beginToken": beginToken, "endToken": endToken});
+  }
+
+  void beginPart(Token token) {
+    seen("Part", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endPart(Token partKeyword, Token semicolon) {
+    seen("Part", DirectParserASTType.END,
+        {"partKeyword": partKeyword, "semicolon": semicolon});
+  }
+
+  void beginPartOf(Token token) {
+    seen("PartOf", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endPartOf(
+      Token partKeyword, Token ofKeyword, Token semicolon, bool hasName) {
+    seen("PartOf", DirectParserASTType.END, {
+      "partKeyword": partKeyword,
+      "ofKeyword": ofKeyword,
+      "semicolon": semicolon,
+      "hasName": hasName
+    });
+  }
+
+  void beginRedirectingFactoryBody(Token token) {
+    seen("RedirectingFactoryBody", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endRedirectingFactoryBody(Token beginToken, Token endToken) {
+    seen("RedirectingFactoryBody", DirectParserASTType.END,
+        {"beginToken": beginToken, "endToken": endToken});
+  }
+
+  void beginReturnStatement(Token token) {
+    seen("ReturnStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void handleNativeFunctionBody(Token nativeToken, Token semicolon) {
+    seen("NativeFunctionBody", DirectParserASTType.HANDLE,
+        {"nativeToken": nativeToken, "semicolon": semicolon});
+  }
+
+  void handleNativeFunctionBodyIgnored(Token nativeToken, Token semicolon) {
+    seen("NativeFunctionBodyIgnored", DirectParserASTType.HANDLE,
+        {"nativeToken": nativeToken, "semicolon": semicolon});
+  }
+
+  void handleNativeFunctionBodySkipped(Token nativeToken, Token semicolon) {
+    seen("NativeFunctionBodySkipped", DirectParserASTType.HANDLE,
+        {"nativeToken": nativeToken, "semicolon": semicolon});
+  }
+
+  void handleEmptyFunctionBody(Token semicolon) {
+    seen("EmptyFunctionBody", DirectParserASTType.HANDLE,
+        {"semicolon": semicolon});
+  }
+
+  void handleExpressionFunctionBody(Token arrowToken, Token endToken) {
+    seen("ExpressionFunctionBody", DirectParserASTType.HANDLE,
+        {"arrowToken": arrowToken, "endToken": endToken});
+  }
+
+  void endReturnStatement(
+      bool hasExpression, Token beginToken, Token endToken) {
+    seen("ReturnStatement", DirectParserASTType.END, {
+      "hasExpression": hasExpression,
+      "beginToken": beginToken,
+      "endToken": endToken
+    });
+  }
+
+  void handleSend(Token beginToken, Token endToken) {
+    seen("Send", DirectParserASTType.HANDLE,
+        {"beginToken": beginToken, "endToken": endToken});
+  }
+
+  void beginShow(Token showKeyword) {
+    seen("Show", DirectParserASTType.BEGIN, {"showKeyword": showKeyword});
+  }
+
+  void endShow(Token showKeyword) {
+    seen("Show", DirectParserASTType.END, {"showKeyword": showKeyword});
+  }
+
+  void beginSwitchStatement(Token token) {
+    seen("SwitchStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endSwitchStatement(Token switchKeyword, Token endToken) {
+    seen("SwitchStatement", DirectParserASTType.END,
+        {"switchKeyword": switchKeyword, "endToken": endToken});
+  }
+
+  void beginSwitchBlock(Token token) {
+    seen("SwitchBlock", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endSwitchBlock(int caseCount, Token beginToken, Token endToken) {
+    seen("SwitchBlock", DirectParserASTType.END, {
+      "caseCount": caseCount,
+      "beginToken": beginToken,
+      "endToken": endToken
+    });
+  }
+
+  void beginLiteralSymbol(Token token) {
+    seen("LiteralSymbol", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endLiteralSymbol(Token hashToken, int identifierCount) {
+    seen("LiteralSymbol", DirectParserASTType.END,
+        {"hashToken": hashToken, "identifierCount": identifierCount});
+  }
+
+  void handleThrowExpression(Token throwToken, Token endToken) {
+    seen("ThrowExpression", DirectParserASTType.HANDLE,
+        {"throwToken": throwToken, "endToken": endToken});
+  }
+
+  void beginRethrowStatement(Token token) {
+    seen("RethrowStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endRethrowStatement(Token rethrowToken, Token endToken) {
+    seen("RethrowStatement", DirectParserASTType.END,
+        {"rethrowToken": rethrowToken, "endToken": endToken});
+  }
+
+  void endTopLevelDeclaration(Token nextToken) {
+    seen("TopLevelDeclaration", DirectParserASTType.END,
+        {"nextToken": nextToken});
+  }
+
+  void handleInvalidTopLevelDeclaration(Token endToken) {
+    seen("InvalidTopLevelDeclaration", DirectParserASTType.HANDLE,
+        {"endToken": endToken});
+  }
+
+  void beginTopLevelMember(Token token) {
+    seen("TopLevelMember", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void beginFields(Token lastConsumed) {
+    seen("Fields", DirectParserASTType.BEGIN, {"lastConsumed": lastConsumed});
+  }
+
+  void endTopLevelFields(
+      Token externalToken,
+      Token staticToken,
+      Token covariantToken,
+      Token lateToken,
+      Token varFinalOrConst,
+      int count,
+      Token beginToken,
+      Token endToken) {
+    seen("TopLevelFields", DirectParserASTType.END, {
+      "externalToken": externalToken,
+      "staticToken": staticToken,
+      "covariantToken": covariantToken,
+      "lateToken": lateToken,
+      "varFinalOrConst": varFinalOrConst,
+      "count": count,
+      "beginToken": beginToken,
+      "endToken": endToken
+    });
+  }
+
+  void beginTopLevelMethod(Token lastConsumed, Token externalToken) {
+    seen("TopLevelMethod", DirectParserASTType.BEGIN,
+        {"lastConsumed": lastConsumed, "externalToken": externalToken});
+  }
+
+  void endTopLevelMethod(Token beginToken, Token getOrSet, Token endToken) {
+    seen("TopLevelMethod", DirectParserASTType.END,
+        {"beginToken": beginToken, "getOrSet": getOrSet, "endToken": endToken});
+  }
+
+  void beginTryStatement(Token token) {
+    seen("TryStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void handleCaseMatch(Token caseKeyword, Token colon) {
+    seen("CaseMatch", DirectParserASTType.HANDLE,
+        {"caseKeyword": caseKeyword, "colon": colon});
+  }
+
+  void beginCatchClause(Token token) {
+    seen("CatchClause", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endCatchClause(Token token) {
+    seen("CatchClause", DirectParserASTType.END, {"token": token});
+  }
+
+  void handleCatchBlock(Token onKeyword, Token catchKeyword, Token comma) {
+    seen("CatchBlock", DirectParserASTType.HANDLE,
+        {"onKeyword": onKeyword, "catchKeyword": catchKeyword, "comma": comma});
+  }
+
+  void handleFinallyBlock(Token finallyKeyword) {
+    seen("FinallyBlock", DirectParserASTType.HANDLE,
+        {"finallyKeyword": finallyKeyword});
+  }
+
+  void endTryStatement(int catchCount, Token tryKeyword, Token finallyKeyword) {
+    seen("TryStatement", DirectParserASTType.END, {
+      "catchCount": catchCount,
+      "tryKeyword": tryKeyword,
+      "finallyKeyword": finallyKeyword
+    });
+  }
+
+  void handleType(Token beginToken, Token questionMark) {
+    seen("Type", DirectParserASTType.HANDLE,
+        {"beginToken": beginToken, "questionMark": questionMark});
+  }
+
+  void handleNonNullAssertExpression(Token bang) {
+    seen("NonNullAssertExpression", DirectParserASTType.HANDLE, {"bang": bang});
+  }
+
+  void handleNoName(Token token) {
+    seen("NoName", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void beginFunctionType(Token beginToken) {
+    seen("FunctionType", DirectParserASTType.BEGIN, {"beginToken": beginToken});
+  }
+
+  void endFunctionType(Token functionToken, Token questionMark) {
+    seen("FunctionType", DirectParserASTType.END,
+        {"functionToken": functionToken, "questionMark": questionMark});
+  }
+
+  void beginTypeArguments(Token token) {
+    seen("TypeArguments", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endTypeArguments(int count, Token beginToken, Token endToken) {
+    seen("TypeArguments", DirectParserASTType.END,
+        {"count": count, "beginToken": beginToken, "endToken": endToken});
+  }
+
+  void handleInvalidTypeArguments(Token token) {
+    seen("InvalidTypeArguments", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleNoTypeArguments(Token token) {
+    seen("NoTypeArguments", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void beginTypeVariable(Token token) {
+    seen("TypeVariable", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void handleTypeVariablesDefined(Token token, int count) {
+    seen("TypeVariablesDefined", DirectParserASTType.HANDLE,
+        {"token": token, "count": count});
+  }
+
+  void endTypeVariable(
+      Token token, int index, Token extendsOrSuper, Token variance) {
+    seen("TypeVariable", DirectParserASTType.END, {
+      "token": token,
+      "index": index,
+      "extendsOrSuper": extendsOrSuper,
+      "variance": variance
+    });
+  }
+
+  void beginTypeVariables(Token token) {
+    seen("TypeVariables", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endTypeVariables(Token beginToken, Token endToken) {
+    seen("TypeVariables", DirectParserASTType.END,
+        {"beginToken": beginToken, "endToken": endToken});
+  }
+
+  void beginFunctionExpression(Token token) {
+    seen("FunctionExpression", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endFunctionExpression(Token beginToken, Token token) {
+    seen("FunctionExpression", DirectParserASTType.END,
+        {"beginToken": beginToken, "token": token});
+  }
+
+  void beginVariablesDeclaration(
+      Token token, Token lateToken, Token varFinalOrConst) {
+    seen("VariablesDeclaration", DirectParserASTType.BEGIN, {
+      "token": token,
+      "lateToken": lateToken,
+      "varFinalOrConst": varFinalOrConst
+    });
+  }
+
+  void endVariablesDeclaration(int count, Token endToken) {
+    seen("VariablesDeclaration", DirectParserASTType.END,
+        {"count": count, "endToken": endToken});
+  }
+
+  void beginWhileStatement(Token token) {
+    seen("WhileStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endWhileStatement(Token whileKeyword, Token endToken) {
+    seen("WhileStatement", DirectParserASTType.END,
+        {"whileKeyword": whileKeyword, "endToken": endToken});
+  }
+
+  void beginAsOperatorType(Token operator) {
+    seen("AsOperatorType", DirectParserASTType.BEGIN, {"operator": operator});
+  }
+
+  void endAsOperatorType(Token operator) {
+    seen("AsOperatorType", DirectParserASTType.END, {"operator": operator});
+  }
+
+  void handleAsOperator(Token operator) {
+    seen("AsOperator", DirectParserASTType.HANDLE, {"operator": operator});
+  }
+
+  void handleAssignmentExpression(Token token) {
+    seen("AssignmentExpression", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void beginBinaryExpression(Token token) {
+    seen("BinaryExpression", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endBinaryExpression(Token token) {
+    seen("BinaryExpression", DirectParserASTType.END, {"token": token});
+  }
+
+  void handleEndingBinaryExpression(Token token) {
+    seen(
+        "EndingBinaryExpression", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void beginConditionalExpression(Token question) {
+    seen("ConditionalExpression", DirectParserASTType.BEGIN,
+        {"question": question});
+  }
+
+  void handleConditionalExpressionColon() {
+    seen("ConditionalExpressionColon", DirectParserASTType.HANDLE, {});
+  }
+
+  void endConditionalExpression(Token question, Token colon) {
+    seen("ConditionalExpression", DirectParserASTType.END,
+        {"question": question, "colon": colon});
+  }
+
+  void beginConstExpression(Token constKeyword) {
+    seen("ConstExpression", DirectParserASTType.BEGIN,
+        {"constKeyword": constKeyword});
+  }
+
+  void endConstExpression(Token token) {
+    seen("ConstExpression", DirectParserASTType.END, {"token": token});
+  }
+
+  void beginForControlFlow(Token awaitToken, Token forToken) {
+    seen("ForControlFlow", DirectParserASTType.BEGIN,
+        {"awaitToken": awaitToken, "forToken": forToken});
+  }
+
+  void endForControlFlow(Token token) {
+    seen("ForControlFlow", DirectParserASTType.END, {"token": token});
+  }
+
+  void endForInControlFlow(Token token) {
+    seen("ForInControlFlow", DirectParserASTType.END, {"token": token});
+  }
+
+  void beginIfControlFlow(Token ifToken) {
+    seen("IfControlFlow", DirectParserASTType.BEGIN, {"ifToken": ifToken});
+  }
+
+  void handleThenControlFlow(Token token) {
+    seen("ThenControlFlow", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleElseControlFlow(Token elseToken) {
+    seen("ElseControlFlow", DirectParserASTType.HANDLE,
+        {"elseToken": elseToken});
+  }
+
+  void endIfControlFlow(Token token) {
+    seen("IfControlFlow", DirectParserASTType.END, {"token": token});
+  }
+
+  void endIfElseControlFlow(Token token) {
+    seen("IfElseControlFlow", DirectParserASTType.END, {"token": token});
+  }
+
+  void handleSpreadExpression(Token spreadToken) {
+    seen("SpreadExpression", DirectParserASTType.HANDLE,
+        {"spreadToken": spreadToken});
+  }
+
+  void beginFunctionTypedFormalParameter(Token token) {
+    seen("FunctionTypedFormalParameter", DirectParserASTType.BEGIN,
+        {"token": token});
+  }
+
+  void endFunctionTypedFormalParameter(Token nameToken, Token question) {
+    seen("FunctionTypedFormalParameter", DirectParserASTType.END,
+        {"nameToken": nameToken, "question": question});
+  }
+
+  void handleIdentifier(Token token, IdentifierContext context) {
+    seen("Identifier", DirectParserASTType.HANDLE,
+        {"token": token, "context": context});
+  }
+
+  void handleIndexedExpression(
+      Token question, Token openSquareBracket, Token closeSquareBracket) {
+    seen("IndexedExpression", DirectParserASTType.HANDLE, {
+      "question": question,
+      "openSquareBracket": openSquareBracket,
+      "closeSquareBracket": closeSquareBracket
+    });
+  }
+
+  void beginIsOperatorType(Token operator) {
+    seen("IsOperatorType", DirectParserASTType.BEGIN, {"operator": operator});
+  }
+
+  void endIsOperatorType(Token operator) {
+    seen("IsOperatorType", DirectParserASTType.END, {"operator": operator});
+  }
+
+  void handleIsOperator(Token isOperator, Token not) {
+    seen("IsOperator", DirectParserASTType.HANDLE,
+        {"isOperator": isOperator, "not": not});
+  }
+
+  void handleLiteralBool(Token token) {
+    seen("LiteralBool", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleBreakStatement(
+      bool hasTarget, Token breakKeyword, Token endToken) {
+    seen("BreakStatement", DirectParserASTType.HANDLE, {
+      "hasTarget": hasTarget,
+      "breakKeyword": breakKeyword,
+      "endToken": endToken
+    });
+  }
+
+  void handleContinueStatement(
+      bool hasTarget, Token continueKeyword, Token endToken) {
+    seen("ContinueStatement", DirectParserASTType.HANDLE, {
+      "hasTarget": hasTarget,
+      "continueKeyword": continueKeyword,
+      "endToken": endToken
+    });
+  }
+
+  void handleEmptyStatement(Token token) {
+    seen("EmptyStatement", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void beginAssert(Token assertKeyword, Assert kind) {
+    seen("Assert", DirectParserASTType.BEGIN,
+        {"assertKeyword": assertKeyword, "kind": kind});
+  }
+
+  void endAssert(Token assertKeyword, Assert kind, Token leftParenthesis,
+      Token commaToken, Token semicolonToken) {
+    seen("Assert", DirectParserASTType.END, {
+      "assertKeyword": assertKeyword,
+      "kind": kind,
+      "leftParenthesis": leftParenthesis,
+      "commaToken": commaToken,
+      "semicolonToken": semicolonToken
+    });
+  }
+
+  void handleLiteralDouble(Token token) {
+    seen("LiteralDouble", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleLiteralInt(Token token) {
+    seen("LiteralInt", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleLiteralList(
+      int count, Token leftBracket, Token constKeyword, Token rightBracket) {
+    seen("LiteralList", DirectParserASTType.HANDLE, {
+      "count": count,
+      "leftBracket": leftBracket,
+      "constKeyword": constKeyword,
+      "rightBracket": rightBracket
+    });
+  }
+
+  void handleLiteralSetOrMap(
+    int count,
+    Token leftBrace,
+    Token constKeyword,
+    Token rightBrace,
+    bool hasSetEntry,
+  ) {
+    seen("LiteralSetOrMap", DirectParserASTType.HANDLE, {
+      "count": count,
+      "leftBrace": leftBrace,
+      "constKeyword": constKeyword,
+      "rightBrace": rightBrace,
+      "hasSetEntry": hasSetEntry
+    });
+  }
+
+  void handleLiteralNull(Token token) {
+    seen("LiteralNull", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleNativeClause(Token nativeToken, bool hasName) {
+    seen("NativeClause", DirectParserASTType.HANDLE,
+        {"nativeToken": nativeToken, "hasName": hasName});
+  }
+
+  void handleNamedArgument(Token colon) {
+    seen("NamedArgument", DirectParserASTType.HANDLE, {"colon": colon});
+  }
+
+  void beginNewExpression(Token token) {
+    seen("NewExpression", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endNewExpression(Token token) {
+    seen("NewExpression", DirectParserASTType.END, {"token": token});
+  }
+
+  void handleNoArguments(Token token) {
+    seen("NoArguments", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleNoConstructorReferenceContinuationAfterTypeArguments(Token token) {
+    seen("NoConstructorReferenceContinuationAfterTypeArguments",
+        DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleNoType(Token lastConsumed) {
+    seen("NoType", DirectParserASTType.HANDLE, {"lastConsumed": lastConsumed});
+  }
+
+  void handleNoTypeVariables(Token token) {
+    seen("NoTypeVariables", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleOperator(Token token) {
+    seen("Operator", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleSymbolVoid(Token token) {
+    seen("SymbolVoid", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleOperatorName(Token operatorKeyword, Token token) {
+    seen("OperatorName", DirectParserASTType.HANDLE,
+        {"operatorKeyword": operatorKeyword, "token": token});
+  }
+
+  void handleInvalidOperatorName(Token operatorKeyword, Token token) {
+    seen("InvalidOperatorName", DirectParserASTType.HANDLE,
+        {"operatorKeyword": operatorKeyword, "token": token});
+  }
+
+  void handleParenthesizedCondition(Token token) {
+    seen(
+        "ParenthesizedCondition", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleParenthesizedExpression(Token token) {
+    seen("ParenthesizedExpression", DirectParserASTType.HANDLE,
+        {"token": token});
+  }
+
+  void handleQualified(Token period) {
+    seen("Qualified", DirectParserASTType.HANDLE, {"period": period});
+  }
+
+  void handleStringPart(Token token) {
+    seen("StringPart", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleSuperExpression(Token token, IdentifierContext context) {
+    seen("SuperExpression", DirectParserASTType.HANDLE,
+        {"token": token, "context": context});
+  }
+
+  void beginSwitchCase(int labelCount, int expressionCount, Token firstToken) {
+    seen("SwitchCase", DirectParserASTType.BEGIN, {
+      "labelCount": labelCount,
+      "expressionCount": expressionCount,
+      "firstToken": firstToken
+    });
+  }
+
+  void endSwitchCase(
+      int labelCount,
+      int expressionCount,
+      Token defaultKeyword,
+      Token colonAfterDefault,
+      int statementCount,
+      Token firstToken,
+      Token endToken) {
+    seen("SwitchCase", DirectParserASTType.END, {
+      "labelCount": labelCount,
+      "expressionCount": expressionCount,
+      "defaultKeyword": defaultKeyword,
+      "colonAfterDefault": colonAfterDefault,
+      "statementCount": statementCount,
+      "firstToken": firstToken,
+      "endToken": endToken
+    });
+  }
+
+  void handleThisExpression(Token token, IdentifierContext context) {
+    seen("ThisExpression", DirectParserASTType.HANDLE,
+        {"token": token, "context": context});
+  }
+
+  void handleUnaryPostfixAssignmentExpression(Token token) {
+    seen("UnaryPostfixAssignmentExpression", DirectParserASTType.HANDLE,
+        {"token": token});
+  }
+
+  void handleUnaryPrefixExpression(Token token) {
+    seen("UnaryPrefixExpression", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleUnaryPrefixAssignmentExpression(Token token) {
+    seen("UnaryPrefixAssignmentExpression", DirectParserASTType.HANDLE,
+        {"token": token});
+  }
+
+  void beginFormalParameterDefaultValueExpression() {
+    seen(
+        "FormalParameterDefaultValueExpression", DirectParserASTType.BEGIN, {});
+  }
+
+  void endFormalParameterDefaultValueExpression() {
+    seen("FormalParameterDefaultValueExpression", DirectParserASTType.END, {});
+  }
+
+  void handleValuedFormalParameter(Token equals, Token token) {
+    seen("ValuedFormalParameter", DirectParserASTType.HANDLE,
+        {"equals": equals, "token": token});
+  }
+
+  void handleFormalParameterWithoutValue(Token token) {
+    seen("FormalParameterWithoutValue", DirectParserASTType.HANDLE,
+        {"token": token});
+  }
+
+  void handleVoidKeyword(Token token) {
+    seen("VoidKeyword", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleVoidKeywordWithTypeArguments(Token token) {
+    seen("VoidKeywordWithTypeArguments", DirectParserASTType.HANDLE,
+        {"token": token});
+  }
+
+  void beginYieldStatement(Token token) {
+    seen("YieldStatement", DirectParserASTType.BEGIN, {"token": token});
+  }
+
+  void endYieldStatement(Token yieldToken, Token starToken, Token endToken) {
+    seen("YieldStatement", DirectParserASTType.END, {
+      "yieldToken": yieldToken,
+      "starToken": starToken,
+      "endToken": endToken
+    });
+  }
+
+  void endInvalidYieldStatement(Token beginToken, Token starToken,
+      Token endToken, MessageCode errorCode) {
+    seen("InvalidYieldStatement", DirectParserASTType.END, {
+      "beginToken": beginToken,
+      "starToken": starToken,
+      "endToken": endToken,
+      "errorCode": errorCode
+    });
+  }
+
+  void handleRecoverableError(
+      Message message, Token startToken, Token endToken) {
+    seen("RecoverableError", DirectParserASTType.HANDLE,
+        {"message": message, "startToken": startToken, "endToken": endToken});
+  }
+
+  void handleErrorToken(ErrorToken token) {
+    seen("ErrorToken", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleUnescapeError(
+      Message message, Token location, int stringOffset, int length) {
+    seen("UnescapeError", DirectParserASTType.HANDLE, {
+      "message": message,
+      "location": location,
+      "stringOffset": stringOffset,
+      "length": length
+    });
+  }
+
+  void handleInvalidStatement(Token token, Message message) {
+    seen("InvalidStatement", DirectParserASTType.HANDLE,
+        {"token": token, "message": message});
+  }
+
+  void handleScript(Token token) {
+    seen("Script", DirectParserASTType.HANDLE, {"token": token});
+  }
+
+  void handleCommentReferenceText(String referenceSource, int referenceOffset) {
+    seen("CommentReferenceText", DirectParserASTType.HANDLE, {
+      "referenceSource": referenceSource,
+      "referenceOffset": referenceOffset
+    });
+  }
+
+  void handleCommentReference(
+      Token newKeyword, Token prefix, Token period, Token token) {
+    seen("CommentReference", DirectParserASTType.HANDLE, {
+      "newKeyword": newKeyword,
+      "prefix": prefix,
+      "period": period,
+      "token": token
+    });
+  }
+
+  void handleNoCommentReference() {
+    seen("NoCommentReference", DirectParserASTType.HANDLE, {});
+  }
+}
diff --git a/pkg/front_end/parser_testcases/error_recovery/await_not_in_async.dart.expect b/pkg/front_end/parser_testcases/error_recovery/await_not_in_async.dart.expect
index 3c87cac..ca25109 100644
--- a/pkg/front_end/parser_testcases/error_recovery/await_not_in_async.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/await_not_in_async.dart.expect
@@ -28,7 +28,7 @@
       beginArguments(()
       endArguments(0, (, ))
       handleSend(value, ;)
-      endBinaryExpression(.)
+      handleEndingBinaryExpression(.)
       handleExpressionFunctionBody(=>, ;)
     endTopLevelMethod(Future, null, ;)
   endTopLevelDeclaration(void)
diff --git a/pkg/front_end/parser_testcases/error_recovery/await_not_in_async.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/await_not_in_async.dart.intertwined.expect
index 56c7a0d..2bc0bed 100644
--- a/pkg/front_end/parser_testcases/error_recovery/await_not_in_async.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/await_not_in_async.dart.intertwined.expect
@@ -55,7 +55,7 @@
                             listener: beginArguments(()
                             listener: endArguments(0, (, ))
                       listener: handleSend(value, ;)
-                listener: endBinaryExpression(.)
+                listener: handleEndingBinaryExpression(.)
             ensureSemicolon())
             listener: handleExpressionFunctionBody(=>, ;)
             inGenerator()
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.expect
index e21f896..caa817a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.expect
@@ -527,30 +527,32 @@
         beginMetadataStar(int)
         endMetadataStar(0)
         beginMember()
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(Foo)
-          handleType(int, null)
-          handleIdentifier(Foo, fieldDeclaration)
-          handleRecoverableError(MemberWithSameNameAsClass, Foo, Foo)
-          handleNoFieldInitializer(;)
-        endClassFields(null, null, null, null, null, null, 1, int, ;)
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        handleIdentifier(int, typeReference)
-        handleNoTypeArguments(A)
-        handleType(int, null)
-        handleIdentifier(A, fieldDeclaration)
-        handleNoFieldInitializer(,)
-        handleIdentifier(Foo, fieldDeclaration)
-        handleRecoverableError(MemberWithSameNameAsClass, Foo, Foo)
-        handleNoFieldInitializer(,)
-        handleIdentifier(B, fieldDeclaration)
-        handleNoFieldInitializer(;)
-      endClassFields(null, null, null, null, null, null, 3, int, ;)
-    endMember()
-  endClassOrMixinBody(DeclarationKind.Class, 19, {, })
-endClassDeclaration(class, })
-endTopLevelDeclaration()
+          beginFields(})
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(Foo)
+            handleType(int, null)
+            handleIdentifier(Foo, fieldDeclaration)
+            handleRecoverableError(MemberWithSameNameAsClass, Foo, Foo)
+            handleNoFieldInitializer(;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(A)
+            handleType(int, null)
+            handleIdentifier(A, fieldDeclaration)
+            handleNoFieldInitializer(,)
+            handleIdentifier(Foo, fieldDeclaration)
+            handleRecoverableError(MemberWithSameNameAsClass, Foo, Foo)
+            handleNoFieldInitializer(,)
+            handleIdentifier(B, fieldDeclaration)
+            handleNoFieldInitializer(;)
+          endClassFields(null, null, null, null, null, null, 3, int, ;)
+        endMember()
+      endClassOrMixinBody(DeclarationKind.Class, 19, {, })
+    endClassDeclaration(class, })
+  endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.intertwined.expect
index 5590321..4b28f49 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.intertwined.expect
@@ -991,6 +991,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(}, null, null, null, null, null, null, }, Instance of 'SimpleType', Foo, DeclarationKind.Class, Foo, false)
+                listener: beginFields(})
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(Foo)
                 listener: handleType(int, null)
@@ -1009,6 +1010,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', A, DeclarationKind.Class, Foo, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(A)
                 listener: handleType(int, null)
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 60c0efb..6514ad1 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
@@ -12,124 +12,126 @@
   beginMetadataStar(const)
   endMetadataStar(0)
   beginTopLevelMember(const)
-    handleNoType(const)
-    handleIdentifier(annotation, topLevelVariableDeclaration)
-    beginFieldInitializer(=)
-      handleLiteralNull(null)
-    endFieldInitializer(=, ;)
-  endTopLevelFields(null, null, null, null, const, 1, const, ;)
-endTopLevelDeclaration(class)
-beginMetadataStar(class)
-endMetadataStar(0)
-beginClassOrNamedMixinApplicationPrelude(class)
-  handleIdentifier(Annotation, classOrMixinDeclaration)
-  handleNoTypeVariables({)
-  beginClassDeclaration(class, null, Annotation)
-    handleNoType(Annotation)
-    handleClassExtends(null, 1)
-    handleClassNoWithClause()
-    handleClassOrMixinImplements(null, 0)
-    handleClassHeader(class, class, null)
-    beginClassOrMixinBody(DeclarationKind.Class, {)
-      beginMetadataStar(final)
-      endMetadataStar(0)
-      beginMember()
-        handleIdentifier(String, typeReference)
-        handleNoTypeArguments(message)
-        handleType(String, null)
-        handleIdentifier(message, fieldDeclaration)
-        handleNoFieldInitializer(;)
-      endClassFields(null, null, null, null, null, final, 1, final, ;)
-    endMember()
-    beginMetadataStar(const)
-    endMetadataStar(0)
-    beginMember()
-      beginMethod(null, null, null, const, null, Annotation)
-        handleNoType(const)
-        handleIdentifier(Annotation, methodDeclaration)
-        handleNoTypeVariables(()
-        beginFormalParameters((, MemberKind.NonStaticMethod)
-          beginMetadataStar(this)
-          endMetadataStar(0)
-          beginFormalParameter(this, MemberKind.NonStaticMethod, null, null, null)
-            handleNoType(()
-            handleIdentifier(message, fieldInitializer)
-            handleFormalParameterWithoutValue())
-          endFormalParameter(this, ., message, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-        endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-        handleNoInitializers()
-        handleAsyncModifier(null, null)
-        handleEmptyFunctionBody(;)
-      endClassConstructor(null, const, (, null, ;)
-    endMember()
-  endClassOrMixinBody(DeclarationKind.Class, 2, {, })
-endClassDeclaration(class, })
-endTopLevelDeclaration(class)
-beginMetadataStar(class)
-endMetadataStar(0)
-beginClassOrNamedMixinApplicationPrelude(class)
-handleIdentifier(A, classOrMixinDeclaration)
-beginTypeVariables(<)
-  beginMetadataStar(E)
+    beginFields()
+      handleNoType(const)
+      handleIdentifier(annotation, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralNull(null)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, const, 1, const, ;)
+  endTopLevelDeclaration(class)
+  beginMetadataStar(class)
   endMetadataStar(0)
-  handleIdentifier(E, typeVariableDeclaration)
-  beginTypeVariable(E)
-    handleTypeVariablesDefined(E, 1)
-    handleNoType(E)
-  endTypeVariable(>, 0, null, null)
-endTypeVariables(<, >)
-beginClassDeclaration(class, null, A)
-  handleNoType(>)
-  handleClassExtends(null, 1)
-  handleClassNoWithClause()
-  handleClassOrMixinImplements(null, 0)
-  handleClassHeader(class, class, null)
-  beginClassOrMixinBody(DeclarationKind.Class, {)
-  endClassOrMixinBody(DeclarationKind.Class, 0, {, })
-endClassDeclaration(class, })
-endTopLevelDeclaration(class)
-beginMetadataStar(class)
-endMetadataStar(0)
-beginClassOrNamedMixinApplicationPrelude(class)
-handleIdentifier(C, classOrMixinDeclaration)
-handleNoTypeVariables({)
-beginClassDeclaration(class, null, C)
-  handleNoType(C)
-  handleClassExtends(null, 1)
-  handleClassNoWithClause()
-  handleClassOrMixinImplements(null, 0)
-  handleClassHeader(class, class, null)
-  beginClassOrMixinBody(DeclarationKind.Class, {)
-    beginMetadataStar(m)
-    endMetadataStar(0)
-    beginMember()
-      beginMethod(null, null, null, null, null, m)
-        handleNoType({)
-        handleIdentifier(m, methodDeclaration)
-        handleNoTypeVariables(()
-        beginFormalParameters((, MemberKind.NonStaticMethod)
-        endFormalParameters(0, (, ), MemberKind.NonStaticMethod)
-        handleNoInitializers()
-        handleAsyncModifier(null, null)
-        beginNewExpression(new)
-          handleIdentifier(A, constructorReference)
-          beginConstructorReference(A)
-            beginTypeArguments(<)
-              handleRecoverableError(AnnotationOnTypeArgument, @, annotation)
-              handleRecoverableError(AnnotationOnTypeArgument, @, ))
-              handleIdentifier(C, typeReference)
-              handleNoTypeArguments(>)
-              handleType(C, null)
-            endTypeArguments(1, <, >)
-            handleNoConstructorReferenceContinuationAfterTypeArguments(()
-          endConstructorReference(A, null, ()
-          beginArguments(()
-          endArguments(0, (, ))
-        endNewExpression(new)
-        handleExpressionFunctionBody(=>, ;)
-      endClassMethod(null, m, (, null, ;)
-    endMember()
-  endClassOrMixinBody(DeclarationKind.Class, 1, {, })
-endClassDeclaration(class, })
-endTopLevelDeclaration()
+  beginClassOrNamedMixinApplicationPrelude(class)
+    handleIdentifier(Annotation, classOrMixinDeclaration)
+    handleNoTypeVariables({)
+    beginClassDeclaration(class, null, Annotation)
+      handleNoType(Annotation)
+      handleClassExtends(null, 1)
+      handleClassNoWithClause()
+      handleClassOrMixinImplements(null, 0)
+      handleClassHeader(class, class, null)
+      beginClassOrMixinBody(DeclarationKind.Class, {)
+        beginMetadataStar(final)
+        endMetadataStar(0)
+        beginMember()
+          beginFields({)
+            handleIdentifier(String, typeReference)
+            handleNoTypeArguments(message)
+            handleType(String, null)
+            handleIdentifier(message, fieldDeclaration)
+            handleNoFieldInitializer(;)
+          endClassFields(null, null, null, null, null, final, 1, final, ;)
+        endMember()
+        beginMetadataStar(const)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, const, null, Annotation)
+            handleNoType(const)
+            handleIdentifier(Annotation, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(this)
+              endMetadataStar(0)
+              beginFormalParameter(this, MemberKind.NonStaticMethod, null, null, null)
+                handleNoType(()
+                handleIdentifier(message, fieldInitializer)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(this, ., message, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            handleEmptyFunctionBody(;)
+          endClassConstructor(null, const, (, null, ;)
+        endMember()
+      endClassOrMixinBody(DeclarationKind.Class, 2, {, })
+    endClassDeclaration(class, })
+  endTopLevelDeclaration(class)
+  beginMetadataStar(class)
+  endMetadataStar(0)
+  beginClassOrNamedMixinApplicationPrelude(class)
+    handleIdentifier(A, classOrMixinDeclaration)
+    beginTypeVariables(<)
+      beginMetadataStar(E)
+      endMetadataStar(0)
+      handleIdentifier(E, typeVariableDeclaration)
+      beginTypeVariable(E)
+        handleTypeVariablesDefined(E, 1)
+        handleNoType(E)
+      endTypeVariable(>, 0, null, null)
+    endTypeVariables(<, >)
+    beginClassDeclaration(class, null, A)
+      handleNoType(>)
+      handleClassExtends(null, 1)
+      handleClassNoWithClause()
+      handleClassOrMixinImplements(null, 0)
+      handleClassHeader(class, class, null)
+      beginClassOrMixinBody(DeclarationKind.Class, {)
+      endClassOrMixinBody(DeclarationKind.Class, 0, {, })
+    endClassDeclaration(class, })
+  endTopLevelDeclaration(class)
+  beginMetadataStar(class)
+  endMetadataStar(0)
+  beginClassOrNamedMixinApplicationPrelude(class)
+    handleIdentifier(C, classOrMixinDeclaration)
+    handleNoTypeVariables({)
+    beginClassDeclaration(class, null, C)
+      handleNoType(C)
+      handleClassExtends(null, 1)
+      handleClassNoWithClause()
+      handleClassOrMixinImplements(null, 0)
+      handleClassHeader(class, class, null)
+      beginClassOrMixinBody(DeclarationKind.Class, {)
+        beginMetadataStar(m)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, m)
+            handleNoType({)
+            handleIdentifier(m, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+            endFormalParameters(0, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginNewExpression(new)
+              handleIdentifier(A, constructorReference)
+              beginConstructorReference(A)
+                beginTypeArguments(<)
+                  handleRecoverableError(AnnotationOnTypeArgument, @, annotation)
+                  handleRecoverableError(AnnotationOnTypeArgument, @, ))
+                  handleIdentifier(C, typeReference)
+                  handleNoTypeArguments(>)
+                  handleType(C, null)
+                endTypeArguments(1, <, >)
+                handleNoConstructorReferenceContinuationAfterTypeArguments(()
+              endConstructorReference(A, null, ()
+              beginArguments(()
+              endArguments(0, (, ))
+            endNewExpression(new)
+            handleExpressionFunctionBody(=>, ;)
+          endClassMethod(null, m, (, null, ;)
+        endMember()
+      endClassOrMixinBody(DeclarationKind.Class, 1, {, })
+    endClassDeclaration(class, })
+  endTopLevelDeclaration()
 endCompilationUnit(4, )
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 cf8c8fc..14fe0c9 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
@@ -9,6 +9,7 @@
     parseTopLevelMemberImpl()
       listener: beginTopLevelMember(const)
       parseFields(, null, null, null, null, null, const, const, Instance of 'NoType', annotation, DeclarationKind.TopLevel, null, false)
+        listener: beginFields()
         listener: handleNoType(const)
         ensureIdentifierPotentiallyRecovered(const, topLevelVariableDeclaration, false)
           listener: handleIdentifier(annotation, topLevelVariableDeclaration)
@@ -54,6 +55,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields({, null, null, null, null, null, final, final, Instance of 'SimpleType', message, DeclarationKind.Class, Annotation, false)
+                listener: beginFields({)
                 listener: handleIdentifier(String, typeReference)
                 listener: handleNoTypeArguments(message)
                 listener: handleType(String, null)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.expect
index 0525878..6e8b00d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.expect
@@ -44,18 +44,18 @@
           handleNoArguments(<)
           handleSend(T, <)
           beginBinaryExpression(<)
-          handleIdentifier(R, expression)
-          handleNoTypeArguments(()
-          beginArguments(()
-            beginTypeArguments(<)
-              handleIdentifier(Z, typeReference)
-              handleNoTypeArguments())
-              handleType(Z, null)
-            endTypeArguments(1, <, >)
-            handleRecoverableError(Message[ExpectedButGot, Expected '[' before this., null, {string: [}], , )
-            handleLiteralList(0, [, null, ])
-          endArguments(1, (, ))
-          handleSend(R, })
+            handleIdentifier(R, expression)
+            handleNoTypeArguments(()
+            beginArguments(()
+              beginTypeArguments(<)
+                handleIdentifier(Z, typeReference)
+                handleNoTypeArguments())
+                handleType(Z, null)
+              endTypeArguments(1, <, >)
+              handleRecoverableError(Message[ExpectedButGot, Expected '[' before this., null, {string: [}], , )
+              handleLiteralList(0, [, null, ])
+            endArguments(1, (, ))
+            handleSend(R, })
           endBinaryExpression(<)
         endArguments(1, (, ))
         handleSend(m, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.expect
index 852c662..5eccfef 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.expect
@@ -15,23 +15,24 @@
 beginCompilationUnit(typedef)
   beginMetadataStar(typedef)
   endMetadataStar(0)
-  beginFunctionTypeAlias(typedef)
-    handleIdentifier(F, typedefDeclaration)
-    beginTypeVariables(<)
-      beginMetadataStar(Glib)
-      endMetadataStar(0)
-      handleIdentifier(Glib, typeVariableDeclaration)
-      beginTypeVariable(Glib)
-        handleTypeVariablesDefined(Glib, 1)
-        handleNoType(Glib)
-      endTypeVariable(., 0, null, null)
-      handleRecoverableError(Message[ExpectedAfterButGot, Expected '>' after this., null, {string: >}], Glib, Glib)
-    endTypeVariables(<, >)
-    handleRecoverableError(Message[ExpectedType, Expected a type, but got ''., null, {token: }], , )
-    handleIdentifier(, typeReference)
-    handleNoTypeArguments()
-    handleType(, null)
-    handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], , )
-  endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration()
+  beginUncategorizedTopLevelDeclaration(typedef)
+    beginFunctionTypeAlias(typedef)
+      handleIdentifier(F, typedefDeclaration)
+      beginTypeVariables(<)
+        beginMetadataStar(Glib)
+        endMetadataStar(0)
+        handleIdentifier(Glib, typeVariableDeclaration)
+        beginTypeVariable(Glib)
+          handleTypeVariablesDefined(Glib, 1)
+          handleNoType(Glib)
+        endTypeVariable(., 0, null, null)
+        handleRecoverableError(Message[ExpectedAfterButGot, Expected '>' after this., null, {string: >}], Glib, Glib)
+      endTypeVariables(<, >)
+      handleRecoverableError(Message[ExpectedType, Expected a type, but got ''., null, {token: }], , )
+      handleIdentifier(, typeReference)
+      handleNoTypeArguments()
+      handleType(, null)
+      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], , )
+    endFunctionTypeAlias(typedef, =, ;)
+  endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.intertwined.expect
index 836daaf..311343c 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.intertwined.expect
@@ -9,6 +9,7 @@
     parseTopLevelKeywordDeclaration(, typedef, Instance of 'DirectiveContext')
       parseTopLevelKeywordModifiers(, typedef)
       parseTypedef(typedef)
+        listener: beginUncategorizedTopLevelDeclaration(typedef)
         listener: beginFunctionTypeAlias(typedef)
         ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
           listener: handleIdentifier(F, typedefDeclaration)
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 f33c1aa..93bab66 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
@@ -63,18 +63,19 @@
   beginMetadataStar(b)
   endMetadataStar(0)
   beginTopLevelMember(b)
-    handleIdentifier(b, typeReference)
-    beginTypeArguments(<)
-      handleIdentifier(c, typeReference)
-      handleNoTypeArguments($)
-      handleType(c, null)
-      handleRecoverableError(Message[ExpectedAfterButGot, Expected '>' after this., null, {string: >}], c, c)
-    endTypeArguments(1, <, >)
-    handleType(b, null)
-    handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ''., null, {token: }], , )
-    handleIdentifier(, topLevelVariableDeclaration)
-    handleNoFieldInitializer()
-    handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], , )
-  endTopLevelFields(null, null, null, null, null, 1, b, ;)
-endTopLevelDeclaration()
+    beginFields(;)
+      handleIdentifier(b, typeReference)
+      beginTypeArguments(<)
+        handleIdentifier(c, typeReference)
+        handleNoTypeArguments($)
+        handleType(c, null)
+        handleRecoverableError(Message[ExpectedAfterButGot, Expected '>' after this., null, {string: >}], c, c)
+      endTypeArguments(1, <, >)
+      handleType(b, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ''., null, {token: }], , )
+      handleIdentifier(, topLevelVariableDeclaration)
+      handleNoFieldInitializer()
+      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], , )
+    endTopLevelFields(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 8ae34cc..e188e74 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
@@ -76,6 +76,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(b)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'ComplexTypeInfo', $, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         ensureIdentifier(;, typeReference)
           listener: handleIdentifier(b, typeReference)
         listener: beginTypeArguments(<)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42267.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42267.dart.expect
index 9cf60f7..b2c79c1 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42267.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42267.dart.expect
@@ -37,7 +37,7 @@
           handleNoTypeArguments([)
           handleNoArguments([)
           handleSend(foo, [)
-          endBinaryExpression(..)
+          handleEndingBinaryExpression(..)
           handleIdentifier(bar, expression)
           handleNoTypeArguments(])
           handleNoArguments(])
@@ -69,7 +69,7 @@
               handleNoTypeArguments([)
               handleNoArguments([)
               handleSend(foo, [)
-              endBinaryExpression(..)
+              handleEndingBinaryExpression(..)
               handleIdentifier(bar, expression)
               handleNoTypeArguments(])
               handleNoArguments(])
@@ -90,7 +90,7 @@
           handleNoTypeArguments([])
           handleNoArguments([])
           handleSend(foo, [])
-          endBinaryExpression(..)
+          handleEndingBinaryExpression(..)
           handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ']'., null, {token: ]}], ], ])
           handleIdentifier(, expression)
           handleNoTypeArguments(])
@@ -123,7 +123,7 @@
               handleNoTypeArguments([])
               handleNoArguments([])
               handleSend(foo, [])
-              endBinaryExpression(..)
+              handleEndingBinaryExpression(..)
               handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ']'., null, {token: ]}], ], ])
               handleIdentifier(, expression)
               handleNoTypeArguments(])
@@ -145,7 +145,7 @@
           handleNoTypeArguments([)
           handleNoArguments([)
           handleSend(foo, [)
-          endBinaryExpression(..)
+          handleEndingBinaryExpression(..)
           handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ']'., null, {token: ]}], ], ])
           handleIdentifier(, expression)
           handleNoTypeArguments(])
@@ -178,7 +178,7 @@
               handleNoTypeArguments([)
               handleNoArguments([)
               handleSend(foo, [)
-              endBinaryExpression(..)
+              handleEndingBinaryExpression(..)
               handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ']'., null, {token: ]}], ], ])
               handleIdentifier(, expression)
               handleNoTypeArguments(])
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_42267.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_42267.dart.intertwined.expect
index d09cea7..1a76870 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_42267.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_42267.dart.intertwined.expect
@@ -52,7 +52,7 @@
                           parseArgumentsOpt(foo)
                             listener: handleNoArguments([)
                           listener: handleSend(foo, [)
-                        listener: endBinaryExpression(..)
+                        listener: handleEndingBinaryExpression(..)
                         parseArgumentOrIndexStar(foo, Instance of 'NoTypeParamOrArg', false)
                           parseExpression([)
                             parsePrecedenceExpression([, 1, true)
@@ -140,7 +140,7 @@
                                                               parseArgumentsOpt(foo)
                                                                 listener: handleNoArguments([)
                                                               listener: handleSend(foo, [)
-                                                            listener: endBinaryExpression(..)
+                                                            listener: handleEndingBinaryExpression(..)
                                                             parseArgumentOrIndexStar(foo, Instance of 'NoTypeParamOrArg', false)
                                                               parseExpression([)
                                                                 parsePrecedenceExpression([, 1, true)
@@ -191,7 +191,7 @@
                           parseArgumentsOpt(foo)
                             listener: handleNoArguments([])
                           listener: handleSend(foo, [])
-                        listener: endBinaryExpression(..)
+                        listener: handleEndingBinaryExpression(..)
                         rewriteSquareBrackets(foo)
                           link([, ])
                           rewriter()
@@ -284,7 +284,7 @@
                                                               parseArgumentsOpt(foo)
                                                                 listener: handleNoArguments([])
                                                               listener: handleSend(foo, [])
-                                                            listener: endBinaryExpression(..)
+                                                            listener: handleEndingBinaryExpression(..)
                                                             rewriteSquareBrackets(foo)
                                                               link([, ])
                                                               rewriter()
@@ -340,7 +340,7 @@
                           parseArgumentsOpt(foo)
                             listener: handleNoArguments([)
                           listener: handleSend(foo, [)
-                        listener: endBinaryExpression(..)
+                        listener: handleEndingBinaryExpression(..)
                         parseArgumentOrIndexStar(foo, Instance of 'NoTypeParamOrArg', false)
                           parseExpression([)
                             parsePrecedenceExpression([, 1, true)
@@ -430,7 +430,7 @@
                                                               parseArgumentsOpt(foo)
                                                                 listener: handleNoArguments([)
                                                               listener: handleSend(foo, [)
-                                                            listener: endBinaryExpression(..)
+                                                            listener: handleEndingBinaryExpression(..)
                                                             parseArgumentOrIndexStar(foo, Instance of 'NoTypeParamOrArg', false)
                                                               parseExpression([)
                                                                 parsePrecedenceExpression([, 1, true)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.expect
index 29dba13..d552dbc 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.expect
@@ -148,865 +148,934 @@
         beginMetadataStar(int)
         endMetadataStar(0)
         beginMember()
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(abstract)
-          handleType(int, null)
-          handleIdentifier(abstract, fieldDeclaration)
-          beginFieldInitializer(=)
-            handleLiteralInt(42)
-          endFieldInitializer(=, ;)
-        endClassFields(null, null, null, null, null, null, 1, int, ;)
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        handleIdentifier(int, typeReference)
-        handleNoTypeArguments(as)
-        handleType(int, null)
-        handleIdentifier(as, fieldDeclaration)
-        beginFieldInitializer(=)
-          handleLiteralInt(42)
-        endFieldInitializer(=, ;)
-      endClassFields(null, null, null, null, null, null, 1, int, ;)
-    endMember()
-    beginMetadataStar(int)
-    endMetadataStar(0)
-    beginMember()
-      handleIdentifier(int, typeReference)
-      handleNoTypeArguments(assert)
-      handleType(int, null)
-      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'assert'., null, {token: assert}], assert, assert)
-      handleIdentifier(assert, fieldDeclaration)
-      beginFieldInitializer(=)
-        handleLiteralInt(42)
-      endFieldInitializer(=, ;)
-    endClassFields(null, null, null, null, null, null, 1, int, ;)
-  endMember()
-  beginMetadataStar(int)
-  endMetadataStar(0)
-  beginMember()
-    handleIdentifier(int, typeReference)
-    handleNoTypeArguments(async)
-    handleType(int, null)
-    handleIdentifier(async, fieldDeclaration)
-    beginFieldInitializer(=)
-      handleLiteralInt(42)
-    endFieldInitializer(=, ;)
-  endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-  handleIdentifier(int, typeReference)
-  handleNoTypeArguments(await)
-  handleType(int, null)
-  handleIdentifier(await, fieldDeclaration)
-  beginFieldInitializer(=)
-    handleLiteralInt(42)
-  endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(break)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'break'., null, {token: break}], break, break)
-handleIdentifier(break, fieldDeclaration)
-beginFieldInitializer(=)
-  handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(case)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'case'., null, {token: case}], case, case)
-handleIdentifier(case, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(catch)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'catch'., null, {token: catch}], catch, catch)
-handleIdentifier(catch, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(class)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'class'., null, {token: class}], class, class)
-handleIdentifier(class, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(const)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'const'., null, {token: const}], const, const)
-handleIdentifier(const, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(continue)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'continue'., null, {token: continue}], continue, continue)
-handleIdentifier(continue, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(covariant)
-handleType(int, null)
-handleIdentifier(covariant, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(default)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'default'., null, {token: default}], default, default)
-handleIdentifier(default, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(deferred)
-handleType(int, null)
-handleIdentifier(deferred, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(do)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'do'., null, {token: do}], do, do)
-handleIdentifier(do, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(dynamic)
-handleType(int, null)
-handleIdentifier(dynamic, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(else)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'else'., null, {token: else}], else, else)
-handleIdentifier(else, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(enum)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'enum'., null, {token: enum}], enum, enum)
-handleIdentifier(enum, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(export)
-handleType(int, null)
-handleIdentifier(export, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(extends)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'extends'., null, {token: extends}], extends, extends)
-handleIdentifier(extends, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(extension)
-handleType(int, null)
-handleIdentifier(extension, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(external)
-handleType(int, null)
-handleIdentifier(external, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(factory)
-handleType(int, null)
-handleIdentifier(factory, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(false)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'false'., null, {token: false}], false, false)
-handleIdentifier(false, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(final)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'final'., null, {token: final}], final, final)
-handleIdentifier(final, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(finally)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'finally'., null, {token: finally}], finally, finally)
-handleIdentifier(finally, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(for)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'for'., null, {token: for}], for, for)
-handleIdentifier(for, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(Function)
-handleType(int, null)
-handleIdentifier(Function, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(get)
-handleType(int, null)
-handleIdentifier(get, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(hide)
-handleType(int, null)
-handleIdentifier(hide, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(if)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'if'., null, {token: if}], if, if)
-handleIdentifier(if, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(implements)
-handleType(int, null)
-handleIdentifier(implements, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(import)
-handleType(int, null)
-handleIdentifier(import, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(in)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'in'., null, {token: in}], in, in)
-handleIdentifier(in, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(inout)
-handleType(int, null)
-handleIdentifier(inout, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(interface)
-handleType(int, null)
-handleIdentifier(interface, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(is)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'is'., null, {token: is}], is, is)
-handleIdentifier(is, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(late)
-handleType(int, null)
-handleIdentifier(late, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(library)
-handleType(int, null)
-handleIdentifier(library, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(mixin)
-handleType(int, null)
-handleIdentifier(mixin, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(native)
-handleType(int, null)
-handleIdentifier(native, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(new)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'new'., null, {token: new}], new, new)
-handleIdentifier(new, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(null)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'null'., null, {token: null}], null, null)
-handleIdentifier(null, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(of)
-handleType(int, null)
-handleIdentifier(of, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(on)
-handleType(int, null)
-handleIdentifier(on, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(operator)
-handleType(int, null)
-handleIdentifier(operator, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(out)
-handleType(int, null)
-handleIdentifier(out, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(part)
-handleType(int, null)
-handleIdentifier(part, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(patch)
-handleType(int, null)
-handleIdentifier(patch, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(required)
-handleType(int, null)
-handleIdentifier(required, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(rethrow)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'rethrow'., null, {token: rethrow}], rethrow, rethrow)
-handleIdentifier(rethrow, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(return)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'return'., null, {token: return}], return, return)
-handleIdentifier(return, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(set)
-handleType(int, null)
-handleIdentifier(set, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(show)
-handleType(int, null)
-handleIdentifier(show, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(source)
-handleType(int, null)
-handleIdentifier(source, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(static)
-handleType(int, null)
-handleIdentifier(static, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(super)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'super'., null, {token: super}], super, super)
-handleIdentifier(super, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(switch)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'switch'., null, {token: switch}], switch, switch)
-handleIdentifier(switch, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(sync)
-handleType(int, null)
-handleIdentifier(sync, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(this)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'this'., null, {token: this}], this, this)
-handleIdentifier(this, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(throw)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'throw'., null, {token: throw}], throw, throw)
-handleIdentifier(throw, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(true)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'true'., null, {token: true}], true, true)
-handleIdentifier(true, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(try)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'try'., null, {token: try}], try, try)
-handleIdentifier(try, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(typedef)
-handleType(int, null)
-handleIdentifier(typedef, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(var)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'var'., null, {token: var}], var, var)
-handleIdentifier(var, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(void)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'void'., null, {token: void}], void, void)
-handleIdentifier(void, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(while)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'while'., null, {token: while}], while, while)
-handleIdentifier(while, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(with)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'with'., null, {token: with}], with, with)
-handleIdentifier(with, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-beginMetadataStar(int)
-endMetadataStar(0)
-beginMember()
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(yield)
-handleType(int, null)
-handleIdentifier(yield, fieldDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endClassFields(null, null, null, null, null, null, 1, int, ;)
-endMember()
-endClassOrMixinBody(DeclarationKind.Class, 69, {, })
-endClassDeclaration(class, })
-endTopLevelDeclaration()
+          beginFields({)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(abstract)
+            handleType(int, null)
+            handleIdentifier(abstract, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(as)
+            handleType(int, null)
+            handleIdentifier(as, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(assert)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'assert'., null, {token: assert}], assert, assert)
+            handleIdentifier(assert, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(async)
+            handleType(int, null)
+            handleIdentifier(async, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(await)
+            handleType(int, null)
+            handleIdentifier(await, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(break)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'break'., null, {token: break}], break, break)
+            handleIdentifier(break, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(case)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'case'., null, {token: case}], case, case)
+            handleIdentifier(case, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(catch)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'catch'., null, {token: catch}], catch, catch)
+            handleIdentifier(catch, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(class)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'class'., null, {token: class}], class, class)
+            handleIdentifier(class, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(const)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'const'., null, {token: const}], const, const)
+            handleIdentifier(const, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(continue)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'continue'., null, {token: continue}], continue, continue)
+            handleIdentifier(continue, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(covariant)
+            handleType(int, null)
+            handleIdentifier(covariant, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(default)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'default'., null, {token: default}], default, default)
+            handleIdentifier(default, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(deferred)
+            handleType(int, null)
+            handleIdentifier(deferred, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(do)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'do'., null, {token: do}], do, do)
+            handleIdentifier(do, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(dynamic)
+            handleType(int, null)
+            handleIdentifier(dynamic, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(else)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'else'., null, {token: else}], else, else)
+            handleIdentifier(else, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(enum)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'enum'., null, {token: enum}], enum, enum)
+            handleIdentifier(enum, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(export)
+            handleType(int, null)
+            handleIdentifier(export, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(extends)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'extends'., null, {token: extends}], extends, extends)
+            handleIdentifier(extends, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(extension)
+            handleType(int, null)
+            handleIdentifier(extension, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(external)
+            handleType(int, null)
+            handleIdentifier(external, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(factory)
+            handleType(int, null)
+            handleIdentifier(factory, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(false)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'false'., null, {token: false}], false, false)
+            handleIdentifier(false, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(final)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'final'., null, {token: final}], final, final)
+            handleIdentifier(final, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(finally)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'finally'., null, {token: finally}], finally, finally)
+            handleIdentifier(finally, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(for)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'for'., null, {token: for}], for, for)
+            handleIdentifier(for, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(Function)
+            handleType(int, null)
+            handleIdentifier(Function, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(get)
+            handleType(int, null)
+            handleIdentifier(get, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(hide)
+            handleType(int, null)
+            handleIdentifier(hide, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(if)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'if'., null, {token: if}], if, if)
+            handleIdentifier(if, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(implements)
+            handleType(int, null)
+            handleIdentifier(implements, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(import)
+            handleType(int, null)
+            handleIdentifier(import, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(in)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'in'., null, {token: in}], in, in)
+            handleIdentifier(in, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(inout)
+            handleType(int, null)
+            handleIdentifier(inout, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(interface)
+            handleType(int, null)
+            handleIdentifier(interface, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(is)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'is'., null, {token: is}], is, is)
+            handleIdentifier(is, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(late)
+            handleType(int, null)
+            handleIdentifier(late, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(library)
+            handleType(int, null)
+            handleIdentifier(library, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(mixin)
+            handleType(int, null)
+            handleIdentifier(mixin, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(native)
+            handleType(int, null)
+            handleIdentifier(native, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(new)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'new'., null, {token: new}], new, new)
+            handleIdentifier(new, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(null)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'null'., null, {token: null}], null, null)
+            handleIdentifier(null, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(of)
+            handleType(int, null)
+            handleIdentifier(of, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(on)
+            handleType(int, null)
+            handleIdentifier(on, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(operator)
+            handleType(int, null)
+            handleIdentifier(operator, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(out)
+            handleType(int, null)
+            handleIdentifier(out, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(part)
+            handleType(int, null)
+            handleIdentifier(part, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(patch)
+            handleType(int, null)
+            handleIdentifier(patch, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(required)
+            handleType(int, null)
+            handleIdentifier(required, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(rethrow)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'rethrow'., null, {token: rethrow}], rethrow, rethrow)
+            handleIdentifier(rethrow, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(return)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'return'., null, {token: return}], return, return)
+            handleIdentifier(return, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(set)
+            handleType(int, null)
+            handleIdentifier(set, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(show)
+            handleType(int, null)
+            handleIdentifier(show, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(source)
+            handleType(int, null)
+            handleIdentifier(source, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(static)
+            handleType(int, null)
+            handleIdentifier(static, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(super)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'super'., null, {token: super}], super, super)
+            handleIdentifier(super, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(switch)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'switch'., null, {token: switch}], switch, switch)
+            handleIdentifier(switch, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(sync)
+            handleType(int, null)
+            handleIdentifier(sync, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(this)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'this'., null, {token: this}], this, this)
+            handleIdentifier(this, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(throw)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'throw'., null, {token: throw}], throw, throw)
+            handleIdentifier(throw, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(true)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'true'., null, {token: true}], true, true)
+            handleIdentifier(true, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(try)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'try'., null, {token: try}], try, try)
+            handleIdentifier(try, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(typedef)
+            handleType(int, null)
+            handleIdentifier(typedef, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(var)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'var'., null, {token: var}], var, var)
+            handleIdentifier(var, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(void)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'void'., null, {token: void}], void, void)
+            handleIdentifier(void, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(while)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'while'., null, {token: while}], while, while)
+            handleIdentifier(while, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(with)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'with'., null, {token: with}], with, with)
+            handleIdentifier(with, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginFields(;)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(yield)
+            handleType(int, null)
+            handleIdentifier(yield, fieldDeclaration)
+            beginFieldInitializer(=)
+              handleLiteralInt(42)
+            endFieldInitializer(=, ;)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+      endClassOrMixinBody(DeclarationKind.Class, 69, {, })
+    endClassDeclaration(class, })
+  endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect
index baabede..467d656 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect
@@ -33,6 +33,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields({, null, null, null, null, null, null, {, Instance of 'SimpleType', abstract, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields({)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(abstract)
                 listener: handleType(int, null)
@@ -56,6 +57,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', as, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(as)
                 listener: handleType(int, null)
@@ -81,6 +83,7 @@
               isReservedKeyword(assert)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', assert, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(assert)
                 listener: handleType(int, null)
@@ -106,6 +109,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', async, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(async)
                 listener: handleType(int, null)
@@ -129,6 +133,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', await, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(await)
                 listener: handleType(int, null)
@@ -154,6 +159,7 @@
               isReservedKeyword(break)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', break, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(break)
                 listener: handleType(int, null)
@@ -181,6 +187,7 @@
               isReservedKeyword(case)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', case, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(case)
                 listener: handleType(int, null)
@@ -208,6 +215,7 @@
               isReservedKeyword(catch)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', catch, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(catch)
                 listener: handleType(int, null)
@@ -235,6 +243,7 @@
               isReservedKeyword(class)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', class, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(class)
                 listener: handleType(int, null)
@@ -262,6 +271,7 @@
               isReservedKeyword(const)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', const, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(const)
                 listener: handleType(int, null)
@@ -289,6 +299,7 @@
               isReservedKeyword(continue)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', continue, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(continue)
                 listener: handleType(int, null)
@@ -314,6 +325,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', covariant, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(covariant)
                 listener: handleType(int, null)
@@ -339,6 +351,7 @@
               isReservedKeyword(default)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', default, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(default)
                 listener: handleType(int, null)
@@ -364,6 +377,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', deferred, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(deferred)
                 listener: handleType(int, null)
@@ -389,6 +403,7 @@
               isReservedKeyword(do)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', do, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(do)
                 listener: handleType(int, null)
@@ -414,6 +429,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', dynamic, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(dynamic)
                 listener: handleType(int, null)
@@ -439,6 +455,7 @@
               isReservedKeyword(else)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', else, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(else)
                 listener: handleType(int, null)
@@ -466,6 +483,7 @@
               isReservedKeyword(enum)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', enum, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(enum)
                 listener: handleType(int, null)
@@ -491,6 +509,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', export, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(export)
                 listener: handleType(int, null)
@@ -516,6 +535,7 @@
               isReservedKeyword(extends)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', extends, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(extends)
                 listener: handleType(int, null)
@@ -541,6 +561,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', extension, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(extension)
                 listener: handleType(int, null)
@@ -564,6 +585,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', external, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(external)
                 listener: handleType(int, null)
@@ -587,6 +609,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', factory, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(factory)
                 listener: handleType(int, null)
@@ -612,6 +635,7 @@
               isReservedKeyword(false)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', false, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(false)
                 listener: handleType(int, null)
@@ -639,6 +663,7 @@
               isReservedKeyword(final)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', final, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(final)
                 listener: handleType(int, null)
@@ -666,6 +691,7 @@
               isReservedKeyword(finally)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', finally, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(finally)
                 listener: handleType(int, null)
@@ -693,6 +719,7 @@
               isReservedKeyword(for)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', for, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(for)
                 listener: handleType(int, null)
@@ -718,6 +745,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', Function, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(Function)
                 listener: handleType(int, null)
@@ -742,6 +770,7 @@
               listener: beginMember()
               isReservedKeyword(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', get, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(get)
                 listener: handleType(int, null)
@@ -765,6 +794,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', hide, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(hide)
                 listener: handleType(int, null)
@@ -790,6 +820,7 @@
               isReservedKeyword(if)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', if, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(if)
                 listener: handleType(int, null)
@@ -815,6 +846,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', implements, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(implements)
                 listener: handleType(int, null)
@@ -838,6 +870,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', import, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(import)
                 listener: handleType(int, null)
@@ -863,6 +896,7 @@
               isReservedKeyword(in)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', in, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(in)
                 listener: handleType(int, null)
@@ -888,6 +922,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', inout, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(inout)
                 listener: handleType(int, null)
@@ -911,6 +946,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', interface, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(interface)
                 listener: handleType(int, null)
@@ -936,6 +972,7 @@
               isReservedKeyword(is)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', is, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(is)
                 listener: handleType(int, null)
@@ -961,6 +998,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', late, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(late)
                 listener: handleType(int, null)
@@ -984,6 +1022,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', library, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(library)
                 listener: handleType(int, null)
@@ -1007,6 +1046,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', mixin, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(mixin)
                 listener: handleType(int, null)
@@ -1030,6 +1070,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', native, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(native)
                 listener: handleType(int, null)
@@ -1055,6 +1096,7 @@
               isReservedKeyword(new)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', new, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(new)
                 listener: handleType(int, null)
@@ -1082,6 +1124,7 @@
               isReservedKeyword(null)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', null, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(null)
                 listener: handleType(int, null)
@@ -1107,6 +1150,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', of, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(of)
                 listener: handleType(int, null)
@@ -1130,6 +1174,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', on, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(on)
                 listener: handleType(int, null)
@@ -1154,6 +1199,7 @@
               listener: beginMember()
               isUnaryMinus(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', operator, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(operator)
                 listener: handleType(int, null)
@@ -1177,6 +1223,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', out, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(out)
                 listener: handleType(int, null)
@@ -1200,6 +1247,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', part, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(part)
                 listener: handleType(int, null)
@@ -1223,6 +1271,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', patch, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(patch)
                 listener: handleType(int, null)
@@ -1246,6 +1295,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', required, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(required)
                 listener: handleType(int, null)
@@ -1271,6 +1321,7 @@
               isReservedKeyword(rethrow)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', rethrow, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(rethrow)
                 listener: handleType(int, null)
@@ -1298,6 +1349,7 @@
               isReservedKeyword(return)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', return, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(return)
                 listener: handleType(int, null)
@@ -1324,6 +1376,7 @@
               listener: beginMember()
               isReservedKeyword(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', set, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(set)
                 listener: handleType(int, null)
@@ -1347,6 +1400,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', show, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(show)
                 listener: handleType(int, null)
@@ -1370,6 +1424,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', source, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(source)
                 listener: handleType(int, null)
@@ -1393,6 +1448,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', static, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(static)
                 listener: handleType(int, null)
@@ -1418,6 +1474,7 @@
               isReservedKeyword(super)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', super, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(super)
                 listener: handleType(int, null)
@@ -1445,6 +1502,7 @@
               isReservedKeyword(switch)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', switch, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(switch)
                 listener: handleType(int, null)
@@ -1470,6 +1528,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', sync, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(sync)
                 listener: handleType(int, null)
@@ -1494,6 +1553,7 @@
               listener: beginMember()
               recoverFromInvalidMember(int, ;, null, null, null, null, null, null, ;, Instance of 'SimpleType', null, DeclarationKind.Class, WrapperClass)
                 parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', this, DeclarationKind.Class, WrapperClass, false)
+                  listener: beginFields(;)
                   listener: handleIdentifier(int, typeReference)
                   listener: handleNoTypeArguments(this)
                   listener: handleType(int, null)
@@ -1521,6 +1581,7 @@
               isReservedKeyword(throw)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', throw, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(throw)
                 listener: handleType(int, null)
@@ -1548,6 +1609,7 @@
               isReservedKeyword(true)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', true, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(true)
                 listener: handleType(int, null)
@@ -1575,6 +1637,7 @@
               isReservedKeyword(try)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', try, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(try)
                 listener: handleType(int, null)
@@ -1600,6 +1663,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', typedef, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(typedef)
                 listener: handleType(int, null)
@@ -1625,6 +1689,7 @@
               isReservedKeyword(var)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', var, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(var)
                 listener: handleType(int, null)
@@ -1652,6 +1717,7 @@
               isReservedKeyword(void)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', void, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(void)
                 listener: handleType(int, null)
@@ -1679,6 +1745,7 @@
               isReservedKeyword(while)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', while, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(while)
                 listener: handleType(int, null)
@@ -1706,6 +1773,7 @@
               isReservedKeyword(with)
               indicatesMethodOrField(=)
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', with, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(with)
                 listener: handleType(int, null)
@@ -1731,6 +1799,7 @@
                 listener: endMetadataStar(0)
               listener: beginMember()
               parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', yield, DeclarationKind.Class, WrapperClass, false)
+                listener: beginFields(;)
                 listener: handleIdentifier(int, typeReference)
                 listener: handleNoTypeArguments(yield)
                 listener: handleType(int, null)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
index 256ca6c..614bc0c 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
@@ -514,7 +514,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -532,12 +532,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(abstract, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -572,7 +572,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -590,12 +590,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(as, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -631,7 +631,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -647,12 +647,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                   handleRecoverableError(AssertAsExpression, assert, assert)
                 endAssert(assert, Assert.Expression, (, null, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -687,7 +687,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -705,12 +705,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(async, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -745,7 +745,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -763,12 +763,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(await, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -804,7 +804,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -829,11 +829,11 @@
               handleNoArguments(-)
               handleSend(x, -)
               beginBinaryExpression(-)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(-)
               handleParenthesizedExpression(()
               beginBinaryExpression(+)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(+)
               handleExpressionStatement(;)
             endBlockFunctionBody(4, {, })
@@ -869,7 +869,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -888,12 +888,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(case, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -929,7 +929,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -948,12 +948,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(catch, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -989,7 +989,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1008,12 +1008,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(class, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1049,7 +1049,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1072,12 +1072,12 @@
                     handleNoArguments(-)
                     handleSend(x, -)
                     beginBinaryExpression(-)
-                    handleLiteralInt(1)
+                      handleLiteralInt(1)
                     endBinaryExpression(-)
                   endArguments(1, (, ))
                 endConstExpression(const)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1113,7 +1113,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1138,11 +1138,11 @@
               handleNoArguments(-)
               handleSend(x, -)
               beginBinaryExpression(-)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(-)
               handleParenthesizedExpression(()
               beginBinaryExpression(+)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(+)
               handleExpressionStatement(;)
             endBlockFunctionBody(4, {, })
@@ -1177,7 +1177,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1195,12 +1195,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(covariant, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1236,7 +1236,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1255,12 +1255,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(default, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1295,7 +1295,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1313,12 +1313,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(deferred, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1354,7 +1354,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1378,11 +1378,11 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                   handleParenthesizedExpression(()
                   beginBinaryExpression(+)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(+)
                   handleExpressionStatement(;)
                 endDoWhileStatementBody(;)
@@ -1428,7 +1428,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1446,12 +1446,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(dynamic, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1487,7 +1487,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1517,11 +1517,11 @@
               handleNoArguments(-)
               handleSend(x, -)
               beginBinaryExpression(-)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(-)
               handleParenthesizedExpression(()
               beginBinaryExpression(+)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(+)
               handleExpressionStatement(;)
             endBlockFunctionBody(4, {, })
@@ -1557,7 +1557,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1576,12 +1576,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(enum, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1616,7 +1616,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1634,12 +1634,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(export, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1675,7 +1675,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1694,12 +1694,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(extends, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1734,7 +1734,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1752,12 +1752,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(extension, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1792,7 +1792,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1810,12 +1810,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(external, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1850,7 +1850,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1868,12 +1868,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(factory, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1909,7 +1909,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -1927,12 +1927,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend((, ))
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -1968,7 +1968,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2001,7 +2001,7 @@
               handleNoArguments(-)
               handleSend(x, -)
               beginBinaryExpression(-)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(-)
               handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 1, 1)
               handleExpressionStatement(;)
@@ -2019,7 +2019,7 @@
               handleNoArguments(+)
               handleSend(, +)
               beginBinaryExpression(+)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(+)
               handleExpressionStatement(;)
             endBlockFunctionBody(6, {, })
@@ -2055,7 +2055,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2074,12 +2074,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(finally, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2115,7 +2115,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2138,7 +2138,7 @@
                 handleNoArguments(-)
                 handleSend(x, -)
                 beginBinaryExpression(-)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(-)
                 handleForInitializerExpressionStatement(1, false)
                 handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 1, 1)
@@ -2157,7 +2157,7 @@
                   handleNoArguments(+)
                   handleSend(, +)
                   beginBinaryExpression(+)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(+)
                   handleExpressionStatement(;)
                 endForStatementBody(})
@@ -2194,7 +2194,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2212,12 +2212,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(Function, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2252,7 +2252,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2270,12 +2270,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(get, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2310,7 +2310,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2328,12 +2328,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(hide, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2369,7 +2369,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2392,7 +2392,7 @@
                 handleNoArguments(-)
                 handleSend(x, -)
                 beginBinaryExpression(-)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(-)
                 handleParenthesizedCondition(()
                 beginThenStatement(+)
@@ -2402,7 +2402,7 @@
                   handleNoArguments(+)
                   handleSend(, +)
                   beginBinaryExpression(+)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(+)
                   handleExpressionStatement(;)
                 endThenStatement(;)
@@ -2439,7 +2439,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2457,12 +2457,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(implements, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2497,7 +2497,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2515,12 +2515,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(import, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2556,7 +2556,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2575,12 +2575,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(in, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2615,7 +2615,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2633,12 +2633,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(inout, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2673,7 +2673,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2691,12 +2691,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(interface, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2732,7 +2732,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2761,11 +2761,11 @@
               handleNoArguments(-)
               handleSend(x, -)
               beginBinaryExpression(-)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(-)
               handleParenthesizedExpression(()
               beginBinaryExpression(+)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(+)
               handleExpressionStatement(;)
             endBlockFunctionBody(3, {, })
@@ -2800,7 +2800,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2818,12 +2818,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(late, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2858,7 +2858,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2876,12 +2876,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(library, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2916,7 +2916,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2934,12 +2934,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(mixin, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -2974,7 +2974,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -2992,12 +2992,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(native, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3033,7 +3033,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3056,12 +3056,12 @@
                     handleNoArguments(-)
                     handleSend(x, -)
                     beginBinaryExpression(-)
-                    handleLiteralInt(1)
+                      handleLiteralInt(1)
                     endBinaryExpression(-)
                   endArguments(1, (, ))
                 endNewExpression(new)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3097,7 +3097,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3115,12 +3115,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend((, ))
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3155,7 +3155,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3173,12 +3173,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(of, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3213,7 +3213,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3231,12 +3231,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(on, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3271,7 +3271,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3289,12 +3289,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(operator, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3329,7 +3329,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3347,12 +3347,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(out, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3387,7 +3387,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3405,12 +3405,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(part, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3445,7 +3445,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3463,12 +3463,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(patch, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3503,7 +3503,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3521,12 +3521,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(required, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3562,7 +3562,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3581,12 +3581,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(rethrow, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3622,7 +3622,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3638,11 +3638,11 @@
                 handleNoArguments(-)
                 handleSend(x, -)
                 beginBinaryExpression(-)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(-)
                 handleParenthesizedExpression(()
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3677,7 +3677,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3695,12 +3695,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(set, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3735,7 +3735,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3753,12 +3753,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(show, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3793,7 +3793,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3811,12 +3811,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(source, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3851,7 +3851,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3869,12 +3869,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(static, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3910,7 +3910,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3928,12 +3928,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(super, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -3969,7 +3969,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -3992,7 +3992,7 @@
                 handleNoArguments(-)
                 handleSend(x, -)
                 beginBinaryExpression(-)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(-)
                 handleParenthesizedCondition(()
                 handleRecoverableError(Message[ExpectedClassOrMixinBody, A switch statement must have a body, even if it is empty., Try adding an empty body., {string: switch statement}], ), ))
@@ -4005,7 +4005,7 @@
               handleNoArguments(+)
               handleSend(, +)
               beginBinaryExpression(+)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(+)
               handleExpressionStatement(;)
             endBlockFunctionBody(4, {, })
@@ -4040,7 +4040,7 @@
                 handleNoArguments(==)
                 handleSend(x, ==)
                 beginBinaryExpression(==)
-                handleLiteralInt(0)
+                  handleLiteralInt(0)
                 endBinaryExpression(==)
                 handleParenthesizedCondition(()
                 beginThenStatement(return)
@@ -4058,12 +4058,12 @@
                   handleNoArguments(-)
                   handleSend(x, -)
                   beginBinaryExpression(-)
-                  handleLiteralInt(1)
+                    handleLiteralInt(1)
                   endBinaryExpression(-)
                 endArguments(1, (, ))
                 handleSend(sync, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
@@ -4072,677 +4072,678 @@
         beginMetadataStar(int)
         endMetadataStar(0)
         beginMember()
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(this)
-          handleType(int, null)
-          handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'this'., null, {token: this}], this, this)
-          handleIdentifier(this, fieldDeclaration)
-          handleNoFieldInitializer(()
-          handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], this, this)
-        endClassFields(null, null, null, null, null, null, 1, int, ;)
-      endMember()
-      beginMetadataStar(()
-      endMetadataStar(0)
-      beginMember()
-        beginMethod(null, null, null, null, null, ()
-          handleNoType(;)
-          handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got '('., null, {token: (}], (, ()
-          handleIdentifier(, methodDeclaration)
-          handleNoTypeVariables(()
-          beginFormalParameters((, MemberKind.NonStaticMethod)
-            beginMetadataStar(int)
-            endMetadataStar(0)
-            beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-              handleIdentifier(int, typeReference)
-              handleNoTypeArguments(x)
-              handleType(int, null)
-              handleIdentifier(x, formalParameterDeclaration)
-              handleFormalParameterWithoutValue())
-            endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-          endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-          handleNoInitializers()
-          handleAsyncModifier(null, null)
-          beginBlockFunctionBody({)
-            beginIfStatement(if)
-              handleIdentifier(x, expression)
-              handleNoTypeArguments(==)
-              handleNoArguments(==)
-              handleSend(x, ==)
-              beginBinaryExpression(==)
-              handleLiteralInt(0)
-              endBinaryExpression(==)
-              handleParenthesizedCondition(()
-              beginThenStatement(return)
-                beginReturnStatement(return)
-                  handleLiteralInt(42)
-                endReturnStatement(true, return, ;)
-              endThenStatement(;)
-            endIfStatement(if, null)
-            beginReturnStatement(return)
-              handleThisExpression(this, expression)
-              handleNoTypeArguments(()
-              beginArguments(()
+          beginFields(})
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(this)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'this'., null, {token: this}], this, this)
+            handleIdentifier(this, fieldDeclaration)
+            handleNoFieldInitializer(()
+            handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], this, this)
+          endClassFields(null, null, null, null, null, null, 1, int, ;)
+        endMember()
+        beginMetadataStar(()
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, ()
+            handleNoType(;)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got '('., null, {token: (}], (, ()
+            handleIdentifier(, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(int)
+              endMetadataStar(0)
+              beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                handleIdentifier(int, typeReference)
+                handleNoTypeArguments(x)
+                handleType(int, null)
+                handleIdentifier(x, formalParameterDeclaration)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginBlockFunctionBody({)
+              beginIfStatement(if)
+                handleIdentifier(x, expression)
+                handleNoTypeArguments(==)
+                handleNoArguments(==)
+                handleSend(x, ==)
+                beginBinaryExpression(==)
+                  handleLiteralInt(0)
+                endBinaryExpression(==)
+                handleParenthesizedCondition(()
+                beginThenStatement(return)
+                  beginReturnStatement(return)
+                    handleLiteralInt(42)
+                  endReturnStatement(true, return, ;)
+                endThenStatement(;)
+              endIfStatement(if, null)
+              beginReturnStatement(return)
+                handleThisExpression(this, expression)
+                handleNoTypeArguments(()
+                beginArguments(()
+                  handleIdentifier(x, expression)
+                  handleNoTypeArguments(-)
+                  handleNoArguments(-)
+                  handleSend(x, -)
+                  beginBinaryExpression(-)
+                    handleLiteralInt(1)
+                  endBinaryExpression(-)
+                endArguments(1, (, ))
+                handleSend(this, +)
+                beginBinaryExpression(+)
+                  handleLiteralInt(1)
+                endBinaryExpression(+)
+              endReturnStatement(true, return, ;)
+            endBlockFunctionBody(2, {, })
+          endClassMethod(null, , (, null, })
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, throw)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(throw)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'throw'., null, {token: throw}], throw, throw)
+            handleIdentifier(throw, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(int)
+              endMetadataStar(0)
+              beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                handleIdentifier(int, typeReference)
+                handleNoTypeArguments(x)
+                handleType(int, null)
+                handleIdentifier(x, formalParameterDeclaration)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginBlockFunctionBody({)
+              beginIfStatement(if)
+                handleIdentifier(x, expression)
+                handleNoTypeArguments(==)
+                handleNoArguments(==)
+                handleSend(x, ==)
+                beginBinaryExpression(==)
+                  handleLiteralInt(0)
+                endBinaryExpression(==)
+                handleParenthesizedCondition(()
+                beginThenStatement(return)
+                  beginReturnStatement(return)
+                    handleLiteralInt(42)
+                  endReturnStatement(true, return, ;)
+                endThenStatement(;)
+              endIfStatement(if, null)
+              beginReturnStatement(return)
                 handleIdentifier(x, expression)
                 handleNoTypeArguments(-)
                 handleNoArguments(-)
                 handleSend(x, -)
                 beginBinaryExpression(-)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(-)
-              endArguments(1, (, ))
-              handleSend(this, +)
-              beginBinaryExpression(+)
-              handleLiteralInt(1)
-              endBinaryExpression(+)
-            endReturnStatement(true, return, ;)
-          endBlockFunctionBody(2, {, })
-        endClassMethod(null, , (, null, })
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        beginMethod(null, null, null, null, null, throw)
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(throw)
-          handleType(int, null)
-          handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'throw'., null, {token: throw}], throw, throw)
-          handleIdentifier(throw, methodDeclaration)
-          handleNoTypeVariables(()
-          beginFormalParameters((, MemberKind.NonStaticMethod)
-            beginMetadataStar(int)
-            endMetadataStar(0)
-            beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-              handleIdentifier(int, typeReference)
-              handleNoTypeArguments(x)
-              handleType(int, null)
-              handleIdentifier(x, formalParameterDeclaration)
-              handleFormalParameterWithoutValue())
-            endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-          endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-          handleNoInitializers()
-          handleAsyncModifier(null, null)
-          beginBlockFunctionBody({)
-            beginIfStatement(if)
-              handleIdentifier(x, expression)
-              handleNoTypeArguments(==)
-              handleNoArguments(==)
-              handleSend(x, ==)
-              beginBinaryExpression(==)
-              handleLiteralInt(0)
-              endBinaryExpression(==)
-              handleParenthesizedCondition(()
-              beginThenStatement(return)
-                beginReturnStatement(return)
-                  handleLiteralInt(42)
-                endReturnStatement(true, return, ;)
-              endThenStatement(;)
-            endIfStatement(if, null)
-            beginReturnStatement(return)
+                handleParenthesizedExpression(()
+                beginBinaryExpression(+)
+                  handleLiteralInt(1)
+                endBinaryExpression(+)
+                handleThrowExpression(throw, ;)
+              endReturnStatement(true, return, ;)
+            endBlockFunctionBody(2, {, })
+          endClassMethod(null, int, (, null, })
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, true)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(true)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'true'., null, {token: true}], true, true)
+            handleIdentifier(true, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(int)
+              endMetadataStar(0)
+              beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                handleIdentifier(int, typeReference)
+                handleNoTypeArguments(x)
+                handleType(int, null)
+                handleIdentifier(x, formalParameterDeclaration)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginBlockFunctionBody({)
+              beginIfStatement(if)
+                handleIdentifier(x, expression)
+                handleNoTypeArguments(==)
+                handleNoArguments(==)
+                handleSend(x, ==)
+                beginBinaryExpression(==)
+                  handleLiteralInt(0)
+                endBinaryExpression(==)
+                handleParenthesizedCondition(()
+                beginThenStatement(return)
+                  beginReturnStatement(return)
+                    handleLiteralInt(42)
+                  endReturnStatement(true, return, ;)
+                endThenStatement(;)
+              endIfStatement(if, null)
+              beginReturnStatement(return)
+                handleLiteralBool(true)
+                handleNoTypeArguments(()
+                beginArguments(()
+                  handleIdentifier(x, expression)
+                  handleNoTypeArguments(-)
+                  handleNoArguments(-)
+                  handleSend(x, -)
+                  beginBinaryExpression(-)
+                    handleLiteralInt(1)
+                  endBinaryExpression(-)
+                endArguments(1, (, ))
+                handleSend((, ))
+                beginBinaryExpression(+)
+                  handleLiteralInt(1)
+                endBinaryExpression(+)
+              endReturnStatement(true, return, ;)
+            endBlockFunctionBody(2, {, })
+          endClassMethod(null, int, (, null, })
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, try)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(try)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'try'., null, {token: try}], try, try)
+            handleIdentifier(try, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(int)
+              endMetadataStar(0)
+              beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                handleIdentifier(int, typeReference)
+                handleNoTypeArguments(x)
+                handleType(int, null)
+                handleIdentifier(x, formalParameterDeclaration)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginBlockFunctionBody({)
+              beginIfStatement(if)
+                handleIdentifier(x, expression)
+                handleNoTypeArguments(==)
+                handleNoArguments(==)
+                handleSend(x, ==)
+                beginBinaryExpression(==)
+                  handleLiteralInt(0)
+                endBinaryExpression(==)
+                handleParenthesizedCondition(()
+                beginThenStatement(return)
+                  beginReturnStatement(return)
+                    handleLiteralInt(42)
+                  endReturnStatement(true, return, ;)
+                endThenStatement(;)
+              endIfStatement(if, null)
+              beginReturnStatement(return)
+                handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'try'., null, {token: try}], try, try)
+                handleIdentifier(, expression)
+                handleNoTypeArguments(try)
+                handleNoArguments(try)
+                handleSend(, try)
+                handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], try, try)
+              endReturnStatement(true, return, ;)
+              beginTryStatement(try)
+                handleRecoverableError(Message[ExpectedClassOrMixinBody, A try statement must have a body, even if it is empty., Try adding an empty body., {string: try statement}], try, try)
+                beginBlock({, BlockKind(try statement))
+                endBlock(0, {, }, BlockKind(try statement))
+                handleRecoverableError(OnlyTry, try, try)
+              endTryStatement(0, try, null)
               handleIdentifier(x, expression)
               handleNoTypeArguments(-)
               handleNoArguments(-)
               handleSend(x, -)
               beginBinaryExpression(-)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(-)
               handleParenthesizedExpression(()
               beginBinaryExpression(+)
-              handleLiteralInt(1)
-              endBinaryExpression(+)
-              handleThrowExpression(throw, ;)
-            endReturnStatement(true, return, ;)
-          endBlockFunctionBody(2, {, })
-        endClassMethod(null, int, (, null, })
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        beginMethod(null, null, null, null, null, true)
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(true)
-          handleType(int, null)
-          handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'true'., null, {token: true}], true, true)
-          handleIdentifier(true, methodDeclaration)
-          handleNoTypeVariables(()
-          beginFormalParameters((, MemberKind.NonStaticMethod)
-            beginMetadataStar(int)
-            endMetadataStar(0)
-            beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-              handleIdentifier(int, typeReference)
-              handleNoTypeArguments(x)
-              handleType(int, null)
-              handleIdentifier(x, formalParameterDeclaration)
-              handleFormalParameterWithoutValue())
-            endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-          endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-          handleNoInitializers()
-          handleAsyncModifier(null, null)
-          beginBlockFunctionBody({)
-            beginIfStatement(if)
-              handleIdentifier(x, expression)
-              handleNoTypeArguments(==)
-              handleNoArguments(==)
-              handleSend(x, ==)
-              beginBinaryExpression(==)
-              handleLiteralInt(0)
-              endBinaryExpression(==)
-              handleParenthesizedCondition(()
-              beginThenStatement(return)
-                beginReturnStatement(return)
-                  handleLiteralInt(42)
-                endReturnStatement(true, return, ;)
-              endThenStatement(;)
-            endIfStatement(if, null)
-            beginReturnStatement(return)
-              handleLiteralBool(true)
-              handleNoTypeArguments(()
-              beginArguments(()
-                handleIdentifier(x, expression)
-                handleNoTypeArguments(-)
-                handleNoArguments(-)
-                handleSend(x, -)
-                beginBinaryExpression(-)
                 handleLiteralInt(1)
-                endBinaryExpression(-)
-              endArguments(1, (, ))
-              handleSend((, ))
-              beginBinaryExpression(+)
-              handleLiteralInt(1)
               endBinaryExpression(+)
-            endReturnStatement(true, return, ;)
-          endBlockFunctionBody(2, {, })
-        endClassMethod(null, int, (, null, })
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        beginMethod(null, null, null, null, null, try)
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(try)
-          handleType(int, null)
-          handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'try'., null, {token: try}], try, try)
-          handleIdentifier(try, methodDeclaration)
-          handleNoTypeVariables(()
-          beginFormalParameters((, MemberKind.NonStaticMethod)
-            beginMetadataStar(int)
-            endMetadataStar(0)
-            beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-              handleIdentifier(int, typeReference)
-              handleNoTypeArguments(x)
-              handleType(int, null)
-              handleIdentifier(x, formalParameterDeclaration)
-              handleFormalParameterWithoutValue())
-            endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-          endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-          handleNoInitializers()
-          handleAsyncModifier(null, null)
-          beginBlockFunctionBody({)
-            beginIfStatement(if)
-              handleIdentifier(x, expression)
-              handleNoTypeArguments(==)
-              handleNoArguments(==)
-              handleSend(x, ==)
-              beginBinaryExpression(==)
-              handleLiteralInt(0)
-              endBinaryExpression(==)
-              handleParenthesizedCondition(()
-              beginThenStatement(return)
-                beginReturnStatement(return)
-                  handleLiteralInt(42)
-                endReturnStatement(true, return, ;)
-              endThenStatement(;)
-            endIfStatement(if, null)
-            beginReturnStatement(return)
-              handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'try'., null, {token: try}], try, try)
-              handleIdentifier(, expression)
-              handleNoTypeArguments(try)
-              handleNoArguments(try)
-              handleSend(, try)
-              handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], try, try)
-            endReturnStatement(true, return, ;)
-            beginTryStatement(try)
-              handleRecoverableError(Message[ExpectedClassOrMixinBody, A try statement must have a body, even if it is empty., Try adding an empty body., {string: try statement}], try, try)
-              beginBlock({, BlockKind(try statement))
-              endBlock(0, {, }, BlockKind(try statement))
-              handleRecoverableError(OnlyTry, try, try)
-            endTryStatement(0, try, null)
-            handleIdentifier(x, expression)
-            handleNoTypeArguments(-)
-            handleNoArguments(-)
-            handleSend(x, -)
-            beginBinaryExpression(-)
-            handleLiteralInt(1)
-            endBinaryExpression(-)
-            handleParenthesizedExpression(()
-            beginBinaryExpression(+)
-            handleLiteralInt(1)
-            endBinaryExpression(+)
-            handleExpressionStatement(;)
-          endBlockFunctionBody(4, {, })
-        endClassMethod(null, int, (, null, })
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        beginMethod(null, null, null, null, null, typedef)
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(typedef)
-          handleType(int, null)
-          handleIdentifier(typedef, methodDeclaration)
-          handleNoTypeVariables(()
-          beginFormalParameters((, MemberKind.NonStaticMethod)
-            beginMetadataStar(int)
-            endMetadataStar(0)
-            beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-              handleIdentifier(int, typeReference)
-              handleNoTypeArguments(x)
-              handleType(int, null)
-              handleIdentifier(x, formalParameterDeclaration)
-              handleFormalParameterWithoutValue())
-            endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-          endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-          handleNoInitializers()
-          handleAsyncModifier(null, null)
-          beginBlockFunctionBody({)
-            beginIfStatement(if)
-              handleIdentifier(x, expression)
-              handleNoTypeArguments(==)
-              handleNoArguments(==)
-              handleSend(x, ==)
-              beginBinaryExpression(==)
-              handleLiteralInt(0)
-              endBinaryExpression(==)
-              handleParenthesizedCondition(()
-              beginThenStatement(return)
-                beginReturnStatement(return)
-                  handleLiteralInt(42)
-                endReturnStatement(true, return, ;)
-              endThenStatement(;)
-            endIfStatement(if, null)
-            beginReturnStatement(return)
-              handleIdentifier(typedef, expression)
-              handleNoTypeArguments(()
-              beginArguments(()
+              handleExpressionStatement(;)
+            endBlockFunctionBody(4, {, })
+          endClassMethod(null, int, (, null, })
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, typedef)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(typedef)
+            handleType(int, null)
+            handleIdentifier(typedef, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(int)
+              endMetadataStar(0)
+              beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                handleIdentifier(int, typeReference)
+                handleNoTypeArguments(x)
+                handleType(int, null)
+                handleIdentifier(x, formalParameterDeclaration)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginBlockFunctionBody({)
+              beginIfStatement(if)
                 handleIdentifier(x, expression)
-                handleNoTypeArguments(-)
-                handleNoArguments(-)
-                handleSend(x, -)
-                beginBinaryExpression(-)
-                handleLiteralInt(1)
-                endBinaryExpression(-)
-              endArguments(1, (, ))
-              handleSend(typedef, +)
-              beginBinaryExpression(+)
-              handleLiteralInt(1)
-              endBinaryExpression(+)
-            endReturnStatement(true, return, ;)
-          endBlockFunctionBody(2, {, })
-        endClassMethod(null, int, (, null, })
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        beginMethod(null, null, null, null, null, var)
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(var)
-          handleType(int, null)
-          handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'var'., null, {token: var}], var, var)
-          handleIdentifier(var, methodDeclaration)
-          handleNoTypeVariables(()
-          beginFormalParameters((, MemberKind.NonStaticMethod)
-            beginMetadataStar(int)
-            endMetadataStar(0)
-            beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-              handleIdentifier(int, typeReference)
-              handleNoTypeArguments(x)
-              handleType(int, null)
-              handleIdentifier(x, formalParameterDeclaration)
-              handleFormalParameterWithoutValue())
-            endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-          endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-          handleNoInitializers()
-          handleAsyncModifier(null, null)
-          beginBlockFunctionBody({)
-            beginIfStatement(if)
-              handleIdentifier(x, expression)
-              handleNoTypeArguments(==)
-              handleNoArguments(==)
-              handleSend(x, ==)
-              beginBinaryExpression(==)
-              handleLiteralInt(0)
-              endBinaryExpression(==)
-              handleParenthesizedCondition(()
-              beginThenStatement(return)
-                beginReturnStatement(return)
-                  handleLiteralInt(42)
-                endReturnStatement(true, return, ;)
-              endThenStatement(;)
-            endIfStatement(if, null)
-            beginReturnStatement(return)
-              handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'var'., null, {token: var}], var, var)
-              handleIdentifier(, expression)
-              handleNoTypeArguments(var)
-              handleNoArguments(var)
-              handleSend(, var)
-              handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], var, var)
-            endReturnStatement(true, return, ;)
-            beginMetadataStar(var)
-            endMetadataStar(0)
-            handleNoType(var)
-            beginVariablesDeclaration((, null, var)
-              handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got '('., null, {token: (}], (, ()
-              handleIdentifier(, localVariableDeclaration)
-              beginInitializedIdentifier()
-                handleNoVariableInitializer()
-              endInitializedIdentifier()
-              handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], x, x)
-            endVariablesDeclaration(1, ;)
-            handleIdentifier(x, expression)
-            handleNoTypeArguments(-)
-            handleNoArguments(-)
-            handleSend(x, -)
-            beginBinaryExpression(-)
-            handleLiteralInt(1)
-            endBinaryExpression(-)
-            handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 1, 1)
-            handleExpressionStatement(;)
-            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ')'., null, {token: )}], ), ))
-            handleIdentifier(, expression)
-            handleNoTypeArguments())
-            handleNoArguments())
-            handleSend(, ))
-            handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], ), ))
-            handleExpressionStatement(;)
-            handleRecoverableError(Message[UnexpectedToken, Unexpected token ';'., null, {token: ;}], ), ))
-            handleRecoverableError(UnsupportedPrefixPlus, +, +)
-            handleIdentifier(, expression)
-            handleNoTypeArguments(+)
-            handleNoArguments(+)
-            handleSend(, +)
-            beginBinaryExpression(+)
-            handleLiteralInt(1)
-            endBinaryExpression(+)
-            handleExpressionStatement(;)
-          endBlockFunctionBody(6, {, })
-        endClassMethod(null, int, (, null, })
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        beginMethod(null, null, null, null, null, void)
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(void)
-          handleType(int, null)
-          handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'void'., null, {token: void}], void, void)
-          handleIdentifier(void, methodDeclaration)
-          handleNoTypeVariables(()
-          beginFormalParameters((, MemberKind.NonStaticMethod)
-            beginMetadataStar(int)
-            endMetadataStar(0)
-            beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-              handleIdentifier(int, typeReference)
-              handleNoTypeArguments(x)
-              handleType(int, null)
-              handleIdentifier(x, formalParameterDeclaration)
-              handleFormalParameterWithoutValue())
-            endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-          endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-          handleNoInitializers()
-          handleAsyncModifier(null, null)
-          beginBlockFunctionBody({)
-            beginIfStatement(if)
-              handleIdentifier(x, expression)
-              handleNoTypeArguments(==)
-              handleNoArguments(==)
-              handleSend(x, ==)
-              beginBinaryExpression(==)
-              handleLiteralInt(0)
-              endBinaryExpression(==)
-              handleParenthesizedCondition(()
-              beginThenStatement(return)
-                beginReturnStatement(return)
-                  handleLiteralInt(42)
-                endReturnStatement(true, return, ;)
-              endThenStatement(;)
-            endIfStatement(if, null)
-            beginReturnStatement(return)
-              handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'void'., null, {token: void}], void, void)
-              handleIdentifier(, expression)
-              handleNoTypeArguments(void)
-              handleNoArguments(void)
-              handleSend(, void)
-              handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], void, void)
-            endReturnStatement(true, return, ;)
-            beginMetadataStar(void)
-            endMetadataStar(0)
-            handleVoidKeyword(void)
-            beginVariablesDeclaration((, null, null)
-              handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got '('., null, {token: (}], (, ()
-              handleIdentifier(, localVariableDeclaration)
-              beginInitializedIdentifier()
-                handleNoVariableInitializer()
-              endInitializedIdentifier()
-              handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], x, x)
-            endVariablesDeclaration(1, ;)
-            handleIdentifier(x, expression)
-            handleNoTypeArguments(-)
-            handleNoArguments(-)
-            handleSend(x, -)
-            beginBinaryExpression(-)
-            handleLiteralInt(1)
-            endBinaryExpression(-)
-            handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 1, 1)
-            handleExpressionStatement(;)
-            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ')'., null, {token: )}], ), ))
-            handleIdentifier(, expression)
-            handleNoTypeArguments())
-            handleNoArguments())
-            handleSend(, ))
-            handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], ), ))
-            handleExpressionStatement(;)
-            handleRecoverableError(Message[UnexpectedToken, Unexpected token ';'., null, {token: ;}], ), ))
-            handleRecoverableError(UnsupportedPrefixPlus, +, +)
-            handleIdentifier(, expression)
-            handleNoTypeArguments(+)
-            handleNoArguments(+)
-            handleSend(, +)
-            beginBinaryExpression(+)
-            handleLiteralInt(1)
-            endBinaryExpression(+)
-            handleExpressionStatement(;)
-          endBlockFunctionBody(6, {, })
-        endClassMethod(null, int, (, null, })
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        beginMethod(null, null, null, null, null, while)
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(while)
-          handleType(int, null)
-          handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'while'., null, {token: while}], while, while)
-          handleIdentifier(while, methodDeclaration)
-          handleNoTypeVariables(()
-          beginFormalParameters((, MemberKind.NonStaticMethod)
-            beginMetadataStar(int)
-            endMetadataStar(0)
-            beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-              handleIdentifier(int, typeReference)
-              handleNoTypeArguments(x)
-              handleType(int, null)
-              handleIdentifier(x, formalParameterDeclaration)
-              handleFormalParameterWithoutValue())
-            endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-          endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-          handleNoInitializers()
-          handleAsyncModifier(null, null)
-          beginBlockFunctionBody({)
-            beginIfStatement(if)
-              handleIdentifier(x, expression)
-              handleNoTypeArguments(==)
-              handleNoArguments(==)
-              handleSend(x, ==)
-              beginBinaryExpression(==)
-              handleLiteralInt(0)
-              endBinaryExpression(==)
-              handleParenthesizedCondition(()
-              beginThenStatement(return)
-                beginReturnStatement(return)
-                  handleLiteralInt(42)
-                endReturnStatement(true, return, ;)
-              endThenStatement(;)
-            endIfStatement(if, null)
-            beginReturnStatement(return)
-              handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'while'., null, {token: while}], while, while)
-              handleIdentifier(, expression)
-              handleNoTypeArguments(while)
-              handleNoArguments(while)
-              handleSend(, while)
-              handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], while, while)
-            endReturnStatement(true, return, ;)
-            beginWhileStatement(while)
+                handleNoTypeArguments(==)
+                handleNoArguments(==)
+                handleSend(x, ==)
+                beginBinaryExpression(==)
+                  handleLiteralInt(0)
+                endBinaryExpression(==)
+                handleParenthesizedCondition(()
+                beginThenStatement(return)
+                  beginReturnStatement(return)
+                    handleLiteralInt(42)
+                  endReturnStatement(true, return, ;)
+                endThenStatement(;)
+              endIfStatement(if, null)
+              beginReturnStatement(return)
+                handleIdentifier(typedef, expression)
+                handleNoTypeArguments(()
+                beginArguments(()
+                  handleIdentifier(x, expression)
+                  handleNoTypeArguments(-)
+                  handleNoArguments(-)
+                  handleSend(x, -)
+                  beginBinaryExpression(-)
+                    handleLiteralInt(1)
+                  endBinaryExpression(-)
+                endArguments(1, (, ))
+                handleSend(typedef, +)
+                beginBinaryExpression(+)
+                  handleLiteralInt(1)
+                endBinaryExpression(+)
+              endReturnStatement(true, return, ;)
+            endBlockFunctionBody(2, {, })
+          endClassMethod(null, int, (, null, })
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, var)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(var)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'var'., null, {token: var}], var, var)
+            handleIdentifier(var, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(int)
+              endMetadataStar(0)
+              beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                handleIdentifier(int, typeReference)
+                handleNoTypeArguments(x)
+                handleType(int, null)
+                handleIdentifier(x, formalParameterDeclaration)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginBlockFunctionBody({)
+              beginIfStatement(if)
+                handleIdentifier(x, expression)
+                handleNoTypeArguments(==)
+                handleNoArguments(==)
+                handleSend(x, ==)
+                beginBinaryExpression(==)
+                  handleLiteralInt(0)
+                endBinaryExpression(==)
+                handleParenthesizedCondition(()
+                beginThenStatement(return)
+                  beginReturnStatement(return)
+                    handleLiteralInt(42)
+                  endReturnStatement(true, return, ;)
+                endThenStatement(;)
+              endIfStatement(if, null)
+              beginReturnStatement(return)
+                handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'var'., null, {token: var}], var, var)
+                handleIdentifier(, expression)
+                handleNoTypeArguments(var)
+                handleNoArguments(var)
+                handleSend(, var)
+                handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], var, var)
+              endReturnStatement(true, return, ;)
+              beginMetadataStar(var)
+              endMetadataStar(0)
+              handleNoType(var)
+              beginVariablesDeclaration((, null, var)
+                handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got '('., null, {token: (}], (, ()
+                handleIdentifier(, localVariableDeclaration)
+                beginInitializedIdentifier()
+                  handleNoVariableInitializer()
+                endInitializedIdentifier()
+                handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], x, x)
+              endVariablesDeclaration(1, ;)
               handleIdentifier(x, expression)
               handleNoTypeArguments(-)
               handleNoArguments(-)
               handleSend(x, -)
               beginBinaryExpression(-)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(-)
-              handleParenthesizedCondition(()
-              beginWhileStatementBody(+)
-                handleRecoverableError(UnsupportedPrefixPlus, +, +)
+              handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 1, 1)
+              handleExpressionStatement(;)
+              handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ')'., null, {token: )}], ), ))
+              handleIdentifier(, expression)
+              handleNoTypeArguments())
+              handleNoArguments())
+              handleSend(, ))
+              handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], ), ))
+              handleExpressionStatement(;)
+              handleRecoverableError(Message[UnexpectedToken, Unexpected token ';'., null, {token: ;}], ), ))
+              handleRecoverableError(UnsupportedPrefixPlus, +, +)
+              handleIdentifier(, expression)
+              handleNoTypeArguments(+)
+              handleNoArguments(+)
+              handleSend(, +)
+              beginBinaryExpression(+)
+                handleLiteralInt(1)
+              endBinaryExpression(+)
+              handleExpressionStatement(;)
+            endBlockFunctionBody(6, {, })
+          endClassMethod(null, int, (, null, })
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, void)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(void)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'void'., null, {token: void}], void, void)
+            handleIdentifier(void, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(int)
+              endMetadataStar(0)
+              beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                handleIdentifier(int, typeReference)
+                handleNoTypeArguments(x)
+                handleType(int, null)
+                handleIdentifier(x, formalParameterDeclaration)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginBlockFunctionBody({)
+              beginIfStatement(if)
+                handleIdentifier(x, expression)
+                handleNoTypeArguments(==)
+                handleNoArguments(==)
+                handleSend(x, ==)
+                beginBinaryExpression(==)
+                  handleLiteralInt(0)
+                endBinaryExpression(==)
+                handleParenthesizedCondition(()
+                beginThenStatement(return)
+                  beginReturnStatement(return)
+                    handleLiteralInt(42)
+                  endReturnStatement(true, return, ;)
+                endThenStatement(;)
+              endIfStatement(if, null)
+              beginReturnStatement(return)
+                handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'void'., null, {token: void}], void, void)
                 handleIdentifier(, expression)
-                handleNoTypeArguments(+)
-                handleNoArguments(+)
-                handleSend(, +)
+                handleNoTypeArguments(void)
+                handleNoArguments(void)
+                handleSend(, void)
+                handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], void, void)
+              endReturnStatement(true, return, ;)
+              beginMetadataStar(void)
+              endMetadataStar(0)
+              handleVoidKeyword(void)
+              beginVariablesDeclaration((, null, null)
+                handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got '('., null, {token: (}], (, ()
+                handleIdentifier(, localVariableDeclaration)
+                beginInitializedIdentifier()
+                  handleNoVariableInitializer()
+                endInitializedIdentifier()
+                handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], x, x)
+              endVariablesDeclaration(1, ;)
+              handleIdentifier(x, expression)
+              handleNoTypeArguments(-)
+              handleNoArguments(-)
+              handleSend(x, -)
+              beginBinaryExpression(-)
+                handleLiteralInt(1)
+              endBinaryExpression(-)
+              handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 1, 1)
+              handleExpressionStatement(;)
+              handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ')'., null, {token: )}], ), ))
+              handleIdentifier(, expression)
+              handleNoTypeArguments())
+              handleNoArguments())
+              handleSend(, ))
+              handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], ), ))
+              handleExpressionStatement(;)
+              handleRecoverableError(Message[UnexpectedToken, Unexpected token ';'., null, {token: ;}], ), ))
+              handleRecoverableError(UnsupportedPrefixPlus, +, +)
+              handleIdentifier(, expression)
+              handleNoTypeArguments(+)
+              handleNoArguments(+)
+              handleSend(, +)
+              beginBinaryExpression(+)
+                handleLiteralInt(1)
+              endBinaryExpression(+)
+              handleExpressionStatement(;)
+            endBlockFunctionBody(6, {, })
+          endClassMethod(null, int, (, null, })
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, while)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(while)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'while'., null, {token: while}], while, while)
+            handleIdentifier(while, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(int)
+              endMetadataStar(0)
+              beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                handleIdentifier(int, typeReference)
+                handleNoTypeArguments(x)
+                handleType(int, null)
+                handleIdentifier(x, formalParameterDeclaration)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginBlockFunctionBody({)
+              beginIfStatement(if)
+                handleIdentifier(x, expression)
+                handleNoTypeArguments(==)
+                handleNoArguments(==)
+                handleSend(x, ==)
+                beginBinaryExpression(==)
+                  handleLiteralInt(0)
+                endBinaryExpression(==)
+                handleParenthesizedCondition(()
+                beginThenStatement(return)
+                  beginReturnStatement(return)
+                    handleLiteralInt(42)
+                  endReturnStatement(true, return, ;)
+                endThenStatement(;)
+              endIfStatement(if, null)
+              beginReturnStatement(return)
+                handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'while'., null, {token: while}], while, while)
+                handleIdentifier(, expression)
+                handleNoTypeArguments(while)
+                handleNoArguments(while)
+                handleSend(, while)
+                handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], while, while)
+              endReturnStatement(true, return, ;)
+              beginWhileStatement(while)
+                handleIdentifier(x, expression)
+                handleNoTypeArguments(-)
+                handleNoArguments(-)
+                handleSend(x, -)
+                beginBinaryExpression(-)
+                  handleLiteralInt(1)
+                endBinaryExpression(-)
+                handleParenthesizedCondition(()
+                beginWhileStatementBody(+)
+                  handleRecoverableError(UnsupportedPrefixPlus, +, +)
+                  handleIdentifier(, expression)
+                  handleNoTypeArguments(+)
+                  handleNoArguments(+)
+                  handleSend(, +)
+                  beginBinaryExpression(+)
+                    handleLiteralInt(1)
+                  endBinaryExpression(+)
+                  handleExpressionStatement(;)
+                endWhileStatementBody(})
+              endWhileStatement(while, })
+            endBlockFunctionBody(3, {, })
+          endClassMethod(null, int, (, null, })
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, with)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(with)
+            handleType(int, null)
+            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'with'., null, {token: with}], with, with)
+            handleIdentifier(with, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(int)
+              endMetadataStar(0)
+              beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                handleIdentifier(int, typeReference)
+                handleNoTypeArguments(x)
+                handleType(int, null)
+                handleIdentifier(x, formalParameterDeclaration)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginBlockFunctionBody({)
+              beginIfStatement(if)
+                handleIdentifier(x, expression)
+                handleNoTypeArguments(==)
+                handleNoArguments(==)
+                handleSend(x, ==)
+                beginBinaryExpression(==)
+                  handleLiteralInt(0)
+                endBinaryExpression(==)
+                handleParenthesizedCondition(()
+                beginThenStatement(return)
+                  beginReturnStatement(return)
+                    handleLiteralInt(42)
+                  endReturnStatement(true, return, ;)
+                endThenStatement(;)
+              endIfStatement(if, null)
+              beginReturnStatement(return)
+                handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'with'., null, {token: with}], with, with)
+                handleIdentifier(with, expression)
+                handleNoTypeArguments(()
+                beginArguments(()
+                  handleIdentifier(x, expression)
+                  handleNoTypeArguments(-)
+                  handleNoArguments(-)
+                  handleSend(x, -)
+                  beginBinaryExpression(-)
+                    handleLiteralInt(1)
+                  endBinaryExpression(-)
+                endArguments(1, (, ))
+                handleSend(with, +)
                 beginBinaryExpression(+)
-                handleLiteralInt(1)
+                  handleLiteralInt(1)
                 endBinaryExpression(+)
-                handleExpressionStatement(;)
-              endWhileStatementBody(})
-            endWhileStatement(while, })
-          endBlockFunctionBody(3, {, })
-        endClassMethod(null, int, (, null, })
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        beginMethod(null, null, null, null, null, with)
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(with)
-          handleType(int, null)
-          handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'with'., null, {token: with}], with, with)
-          handleIdentifier(with, methodDeclaration)
-          handleNoTypeVariables(()
-          beginFormalParameters((, MemberKind.NonStaticMethod)
-            beginMetadataStar(int)
-            endMetadataStar(0)
-            beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-              handleIdentifier(int, typeReference)
-              handleNoTypeArguments(x)
-              handleType(int, null)
-              handleIdentifier(x, formalParameterDeclaration)
-              handleFormalParameterWithoutValue())
-            endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-          endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-          handleNoInitializers()
-          handleAsyncModifier(null, null)
-          beginBlockFunctionBody({)
-            beginIfStatement(if)
-              handleIdentifier(x, expression)
-              handleNoTypeArguments(==)
-              handleNoArguments(==)
-              handleSend(x, ==)
-              beginBinaryExpression(==)
-              handleLiteralInt(0)
-              endBinaryExpression(==)
-              handleParenthesizedCondition(()
-              beginThenStatement(return)
-                beginReturnStatement(return)
-                  handleLiteralInt(42)
-                endReturnStatement(true, return, ;)
-              endThenStatement(;)
-            endIfStatement(if, null)
-            beginReturnStatement(return)
-              handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'with'., null, {token: with}], with, with)
-              handleIdentifier(with, expression)
-              handleNoTypeArguments(()
-              beginArguments(()
+              endReturnStatement(true, return, ;)
+            endBlockFunctionBody(2, {, })
+          endClassMethod(null, int, (, null, })
+        endMember()
+        beginMetadataStar(int)
+        endMetadataStar(0)
+        beginMember()
+          beginMethod(null, null, null, null, null, yield)
+            handleIdentifier(int, typeReference)
+            handleNoTypeArguments(yield)
+            handleType(int, null)
+            handleIdentifier(yield, methodDeclaration)
+            handleNoTypeVariables(()
+            beginFormalParameters((, MemberKind.NonStaticMethod)
+              beginMetadataStar(int)
+              endMetadataStar(0)
+              beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                handleIdentifier(int, typeReference)
+                handleNoTypeArguments(x)
+                handleType(int, null)
+                handleIdentifier(x, formalParameterDeclaration)
+                handleFormalParameterWithoutValue())
+              endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+            endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+            handleNoInitializers()
+            handleAsyncModifier(null, null)
+            beginBlockFunctionBody({)
+              beginIfStatement(if)
                 handleIdentifier(x, expression)
-                handleNoTypeArguments(-)
-                handleNoArguments(-)
-                handleSend(x, -)
-                beginBinaryExpression(-)
-                handleLiteralInt(1)
-                endBinaryExpression(-)
-              endArguments(1, (, ))
-              handleSend(with, +)
-              beginBinaryExpression(+)
-              handleLiteralInt(1)
-              endBinaryExpression(+)
-            endReturnStatement(true, return, ;)
-          endBlockFunctionBody(2, {, })
-        endClassMethod(null, int, (, null, })
-      endMember()
-      beginMetadataStar(int)
-      endMetadataStar(0)
-      beginMember()
-        beginMethod(null, null, null, null, null, yield)
-          handleIdentifier(int, typeReference)
-          handleNoTypeArguments(yield)
-          handleType(int, null)
-          handleIdentifier(yield, methodDeclaration)
-          handleNoTypeVariables(()
-          beginFormalParameters((, MemberKind.NonStaticMethod)
-            beginMetadataStar(int)
-            endMetadataStar(0)
-            beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-              handleIdentifier(int, typeReference)
-              handleNoTypeArguments(x)
-              handleType(int, null)
-              handleIdentifier(x, formalParameterDeclaration)
-              handleFormalParameterWithoutValue())
-            endFormalParameter(null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-          endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-          handleNoInitializers()
-          handleAsyncModifier(null, null)
-          beginBlockFunctionBody({)
-            beginIfStatement(if)
-              handleIdentifier(x, expression)
-              handleNoTypeArguments(==)
-              handleNoArguments(==)
-              handleSend(x, ==)
-              beginBinaryExpression(==)
-              handleLiteralInt(0)
-              endBinaryExpression(==)
-              handleParenthesizedCondition(()
-              beginThenStatement(return)
-                beginReturnStatement(return)
-                  handleLiteralInt(42)
-                endReturnStatement(true, return, ;)
-              endThenStatement(;)
-            endIfStatement(if, null)
-            beginReturnStatement(return)
-              handleIdentifier(yield, expression)
-              handleNoTypeArguments(()
-              beginArguments(()
-                handleIdentifier(x, expression)
-                handleNoTypeArguments(-)
-                handleNoArguments(-)
-                handleSend(x, -)
-                beginBinaryExpression(-)
-                handleLiteralInt(1)
-                endBinaryExpression(-)
-              endArguments(1, (, ))
-              handleSend(yield, +)
-              beginBinaryExpression(+)
-              handleLiteralInt(1)
-              endBinaryExpression(+)
-            endReturnStatement(true, return, ;)
-          endBlockFunctionBody(2, {, })
-        endClassMethod(null, int, (, null, })
-      endMember()
-    endClassOrMixinBody(DeclarationKind.Class, 70, {, })
-  endClassDeclaration(class, })
-endTopLevelDeclaration()
+                handleNoTypeArguments(==)
+                handleNoArguments(==)
+                handleSend(x, ==)
+                beginBinaryExpression(==)
+                  handleLiteralInt(0)
+                endBinaryExpression(==)
+                handleParenthesizedCondition(()
+                beginThenStatement(return)
+                  beginReturnStatement(return)
+                    handleLiteralInt(42)
+                  endReturnStatement(true, return, ;)
+                endThenStatement(;)
+              endIfStatement(if, null)
+              beginReturnStatement(return)
+                handleIdentifier(yield, expression)
+                handleNoTypeArguments(()
+                beginArguments(()
+                  handleIdentifier(x, expression)
+                  handleNoTypeArguments(-)
+                  handleNoArguments(-)
+                  handleSend(x, -)
+                  beginBinaryExpression(-)
+                    handleLiteralInt(1)
+                  endBinaryExpression(-)
+                endArguments(1, (, ))
+                handleSend(yield, +)
+                beginBinaryExpression(+)
+                  handleLiteralInt(1)
+                endBinaryExpression(+)
+              endReturnStatement(true, return, ;)
+            endBlockFunctionBody(2, {, })
+          endClassMethod(null, int, (, null, })
+        endMember()
+      endClassOrMixinBody(DeclarationKind.Class, 70, {, })
+    endClassDeclaration(class, })
+  endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
index d61d8a2..325c75e 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
@@ -8862,6 +8862,7 @@
               listener: beginMember()
               recoverFromInvalidMember(int, }, null, null, null, null, null, null, }, Instance of 'SimpleType', null, DeclarationKind.Class, WrapperClass)
                 parseFields(}, null, null, null, null, null, null, }, Instance of 'SimpleType', this, DeclarationKind.Class, WrapperClass, false)
+                  listener: beginFields(})
                   listener: handleIdentifier(int, typeReference)
                   listener: handleNoTypeArguments(this)
                   listener: handleType(int, null)
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 544e865..7789ff7 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
@@ -136,862 +136,931 @@
   beginMetadataStar(int)
   endMetadataStar(0)
   beginTopLevelMember(int)
-    handleIdentifier(int, typeReference)
-    handleNoTypeArguments(abstract)
-    handleType(int, null)
-    handleIdentifier(abstract, topLevelVariableDeclaration)
-    beginFieldInitializer(=)
-      handleLiteralInt(42)
-    endFieldInitializer(=, ;)
-  endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-  handleIdentifier(int, typeReference)
-  handleNoTypeArguments(as)
-  handleType(int, null)
-  handleIdentifier(as, topLevelVariableDeclaration)
-  beginFieldInitializer(=)
-    handleLiteralInt(42)
-  endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(assert)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'assert'., null, {token: assert}], assert, assert)
-handleIdentifier(assert, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-  handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(async)
-handleType(int, null)
-handleIdentifier(async, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(await)
-handleType(int, null)
-handleIdentifier(await, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(break)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'break'., null, {token: break}], break, break)
-handleIdentifier(break, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(case)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'case'., null, {token: case}], case, case)
-handleIdentifier(case, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(catch)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'catch'., null, {token: catch}], catch, catch)
-handleIdentifier(catch, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(class)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'class'., null, {token: class}], class, class)
-handleIdentifier(class, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(const)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'const'., null, {token: const}], const, const)
-handleIdentifier(const, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(continue)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'continue'., null, {token: continue}], continue, continue)
-handleIdentifier(continue, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(covariant)
-handleType(int, null)
-handleIdentifier(covariant, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(default)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'default'., null, {token: default}], default, default)
-handleIdentifier(default, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(deferred)
-handleType(int, null)
-handleIdentifier(deferred, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(do)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'do'., null, {token: do}], do, do)
-handleIdentifier(do, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(dynamic)
-handleType(int, null)
-handleIdentifier(dynamic, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(else)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'else'., null, {token: else}], else, else)
-handleIdentifier(else, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(enum)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'enum'., null, {token: enum}], enum, enum)
-handleIdentifier(enum, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(export)
-handleType(int, null)
-handleIdentifier(export, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(extends)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'extends'., null, {token: extends}], extends, extends)
-handleIdentifier(extends, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(extension)
-handleType(int, null)
-handleIdentifier(extension, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(external)
-handleType(int, null)
-handleIdentifier(external, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(factory)
-handleType(int, null)
-handleIdentifier(factory, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(false)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'false'., null, {token: false}], false, false)
-handleIdentifier(false, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(final)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'final'., null, {token: final}], final, final)
-handleIdentifier(final, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(finally)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'finally'., null, {token: finally}], finally, finally)
-handleIdentifier(finally, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(for)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'for'., null, {token: for}], for, for)
-handleIdentifier(for, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(Function)
-handleType(int, null)
-handleIdentifier(Function, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(get)
-handleType(int, null)
-handleIdentifier(get, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(hide)
-handleType(int, null)
-handleIdentifier(hide, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(if)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'if'., null, {token: if}], if, if)
-handleIdentifier(if, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(implements)
-handleType(int, null)
-handleIdentifier(implements, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(import)
-handleType(int, null)
-handleIdentifier(import, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(in)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'in'., null, {token: in}], in, in)
-handleIdentifier(in, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(inout)
-handleType(int, null)
-handleIdentifier(inout, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(interface)
-handleType(int, null)
-handleIdentifier(interface, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(is)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'is'., null, {token: is}], is, is)
-handleIdentifier(is, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(late)
-handleType(int, null)
-handleIdentifier(late, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(library)
-handleType(int, null)
-handleIdentifier(library, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(mixin)
-handleType(int, null)
-handleIdentifier(mixin, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(native)
-handleType(int, null)
-handleIdentifier(native, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(new)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'new'., null, {token: new}], new, new)
-handleIdentifier(new, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(null)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'null'., null, {token: null}], null, null)
-handleIdentifier(null, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(of)
-handleType(int, null)
-handleIdentifier(of, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(on)
-handleType(int, null)
-handleIdentifier(on, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(operator)
-handleType(int, null)
-handleIdentifier(operator, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(out)
-handleType(int, null)
-handleIdentifier(out, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(part)
-handleType(int, null)
-handleIdentifier(part, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(patch)
-handleType(int, null)
-handleIdentifier(patch, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(required)
-handleType(int, null)
-handleIdentifier(required, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(rethrow)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'rethrow'., null, {token: rethrow}], rethrow, rethrow)
-handleIdentifier(rethrow, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(return)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'return'., null, {token: return}], return, return)
-handleIdentifier(return, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(set)
-handleType(int, null)
-handleIdentifier(set, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(show)
-handleType(int, null)
-handleIdentifier(show, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(source)
-handleType(int, null)
-handleIdentifier(source, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(static)
-handleType(int, null)
-handleIdentifier(static, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(super)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'super'., null, {token: super}], super, super)
-handleIdentifier(super, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(switch)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'switch'., null, {token: switch}], switch, switch)
-handleIdentifier(switch, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(sync)
-handleType(int, null)
-handleIdentifier(sync, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(this)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'this'., null, {token: this}], this, this)
-handleIdentifier(this, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(throw)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'throw'., null, {token: throw}], throw, throw)
-handleIdentifier(throw, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(true)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'true'., null, {token: true}], true, true)
-handleIdentifier(true, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(try)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'try'., null, {token: try}], try, try)
-handleIdentifier(try, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(typedef)
-handleType(int, null)
-handleIdentifier(typedef, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(var)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'var'., null, {token: var}], var, var)
-handleIdentifier(var, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(void)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'void'., null, {token: void}], void, void)
-handleIdentifier(void, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(while)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'while'., null, {token: while}], while, while)
-handleIdentifier(while, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(with)
-handleType(int, null)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'with'., null, {token: with}], with, with)
-handleIdentifier(with, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration(int)
-beginMetadataStar(int)
-endMetadataStar(0)
-beginTopLevelMember(int)
-handleIdentifier(int, typeReference)
-handleNoTypeArguments(yield)
-handleType(int, null)
-handleIdentifier(yield, topLevelVariableDeclaration)
-beginFieldInitializer(=)
-handleLiteralInt(42)
-endFieldInitializer(=, ;)
-endTopLevelFields(null, null, null, null, null, 1, int, ;)
-endTopLevelDeclaration()
+    beginFields()
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(abstract)
+      handleType(int, null)
+      handleIdentifier(abstract, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(as)
+      handleType(int, null)
+      handleIdentifier(as, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(assert)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'assert'., null, {token: assert}], assert, assert)
+      handleIdentifier(assert, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(async)
+      handleType(int, null)
+      handleIdentifier(async, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(await)
+      handleType(int, null)
+      handleIdentifier(await, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(break)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'break'., null, {token: break}], break, break)
+      handleIdentifier(break, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(case)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'case'., null, {token: case}], case, case)
+      handleIdentifier(case, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(catch)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'catch'., null, {token: catch}], catch, catch)
+      handleIdentifier(catch, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(class)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'class'., null, {token: class}], class, class)
+      handleIdentifier(class, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(const)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'const'., null, {token: const}], const, const)
+      handleIdentifier(const, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(continue)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'continue'., null, {token: continue}], continue, continue)
+      handleIdentifier(continue, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(covariant)
+      handleType(int, null)
+      handleIdentifier(covariant, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(default)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'default'., null, {token: default}], default, default)
+      handleIdentifier(default, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(deferred)
+      handleType(int, null)
+      handleIdentifier(deferred, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(do)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'do'., null, {token: do}], do, do)
+      handleIdentifier(do, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(dynamic)
+      handleType(int, null)
+      handleIdentifier(dynamic, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(else)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'else'., null, {token: else}], else, else)
+      handleIdentifier(else, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(enum)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'enum'., null, {token: enum}], enum, enum)
+      handleIdentifier(enum, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(export)
+      handleType(int, null)
+      handleIdentifier(export, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(extends)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'extends'., null, {token: extends}], extends, extends)
+      handleIdentifier(extends, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(extension)
+      handleType(int, null)
+      handleIdentifier(extension, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(external)
+      handleType(int, null)
+      handleIdentifier(external, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(factory)
+      handleType(int, null)
+      handleIdentifier(factory, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(false)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'false'., null, {token: false}], false, false)
+      handleIdentifier(false, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(final)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'final'., null, {token: final}], final, final)
+      handleIdentifier(final, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(finally)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'finally'., null, {token: finally}], finally, finally)
+      handleIdentifier(finally, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(for)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'for'., null, {token: for}], for, for)
+      handleIdentifier(for, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(Function)
+      handleType(int, null)
+      handleIdentifier(Function, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(get)
+      handleType(int, null)
+      handleIdentifier(get, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(hide)
+      handleType(int, null)
+      handleIdentifier(hide, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(if)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'if'., null, {token: if}], if, if)
+      handleIdentifier(if, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(implements)
+      handleType(int, null)
+      handleIdentifier(implements, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(import)
+      handleType(int, null)
+      handleIdentifier(import, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(in)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'in'., null, {token: in}], in, in)
+      handleIdentifier(in, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(inout)
+      handleType(int, null)
+      handleIdentifier(inout, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(interface)
+      handleType(int, null)
+      handleIdentifier(interface, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(is)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'is'., null, {token: is}], is, is)
+      handleIdentifier(is, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(late)
+      handleType(int, null)
+      handleIdentifier(late, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(library)
+      handleType(int, null)
+      handleIdentifier(library, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(mixin)
+      handleType(int, null)
+      handleIdentifier(mixin, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(native)
+      handleType(int, null)
+      handleIdentifier(native, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(new)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'new'., null, {token: new}], new, new)
+      handleIdentifier(new, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(null)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'null'., null, {token: null}], null, null)
+      handleIdentifier(null, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(of)
+      handleType(int, null)
+      handleIdentifier(of, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(on)
+      handleType(int, null)
+      handleIdentifier(on, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(operator)
+      handleType(int, null)
+      handleIdentifier(operator, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(out)
+      handleType(int, null)
+      handleIdentifier(out, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(part)
+      handleType(int, null)
+      handleIdentifier(part, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(patch)
+      handleType(int, null)
+      handleIdentifier(patch, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(required)
+      handleType(int, null)
+      handleIdentifier(required, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(rethrow)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'rethrow'., null, {token: rethrow}], rethrow, rethrow)
+      handleIdentifier(rethrow, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(return)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'return'., null, {token: return}], return, return)
+      handleIdentifier(return, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(set)
+      handleType(int, null)
+      handleIdentifier(set, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(show)
+      handleType(int, null)
+      handleIdentifier(show, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(source)
+      handleType(int, null)
+      handleIdentifier(source, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(static)
+      handleType(int, null)
+      handleIdentifier(static, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(super)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'super'., null, {token: super}], super, super)
+      handleIdentifier(super, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(switch)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'switch'., null, {token: switch}], switch, switch)
+      handleIdentifier(switch, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(sync)
+      handleType(int, null)
+      handleIdentifier(sync, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(this)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'this'., null, {token: this}], this, this)
+      handleIdentifier(this, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(throw)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'throw'., null, {token: throw}], throw, throw)
+      handleIdentifier(throw, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(true)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'true'., null, {token: true}], true, true)
+      handleIdentifier(true, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(try)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'try'., null, {token: try}], try, try)
+      handleIdentifier(try, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(typedef)
+      handleType(int, null)
+      handleIdentifier(typedef, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(var)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'var'., null, {token: var}], var, var)
+      handleIdentifier(var, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(void)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'void'., null, {token: void}], void, void)
+      handleIdentifier(void, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(while)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'while'., null, {token: while}], while, while)
+      handleIdentifier(while, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(with)
+      handleType(int, null)
+      handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'with'., null, {token: with}], with, with)
+      handleIdentifier(with, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(null, null, null, null, null, 1, int, ;)
+  endTopLevelDeclaration(int)
+  beginMetadataStar(int)
+  endMetadataStar(0)
+  beginTopLevelMember(int)
+    beginFields(;)
+      handleIdentifier(int, typeReference)
+      handleNoTypeArguments(yield)
+      handleType(int, null)
+      handleIdentifier(yield, topLevelVariableDeclaration)
+      beginFieldInitializer(=)
+        handleLiteralInt(42)
+      endFieldInitializer(=, ;)
+    endTopLevelFields(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 0c129c8..fc69737 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
@@ -9,6 +9,7 @@
     parseTopLevelMemberImpl()
       listener: beginTopLevelMember(int)
       parseFields(, null, null, null, null, null, null, , Instance of 'SimpleType', abstract, DeclarationKind.TopLevel, null, false)
+        listener: beginFields()
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(abstract)
         listener: handleType(int, null)
@@ -32,6 +33,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', as, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(as)
         listener: handleType(int, null)
@@ -57,6 +59,7 @@
       isReservedKeyword(assert)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', assert, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(assert)
         listener: handleType(int, null)
@@ -82,6 +85,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', async, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(async)
         listener: handleType(int, null)
@@ -105,6 +109,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', await, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(await)
         listener: handleType(int, null)
@@ -130,6 +135,7 @@
       isReservedKeyword(break)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', break, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(break)
         listener: handleType(int, null)
@@ -157,6 +163,7 @@
       isReservedKeyword(case)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', case, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(case)
         listener: handleType(int, null)
@@ -184,6 +191,7 @@
       isReservedKeyword(catch)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', catch, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(catch)
         listener: handleType(int, null)
@@ -211,6 +219,7 @@
       isReservedKeyword(class)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', class, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(class)
         listener: handleType(int, null)
@@ -238,6 +247,7 @@
       isReservedKeyword(const)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', const, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(const)
         listener: handleType(int, null)
@@ -265,6 +275,7 @@
       isReservedKeyword(continue)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', continue, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(continue)
         listener: handleType(int, null)
@@ -290,6 +301,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', covariant, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(covariant)
         listener: handleType(int, null)
@@ -315,6 +327,7 @@
       isReservedKeyword(default)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', default, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(default)
         listener: handleType(int, null)
@@ -340,6 +353,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', deferred, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(deferred)
         listener: handleType(int, null)
@@ -365,6 +379,7 @@
       isReservedKeyword(do)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', do, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(do)
         listener: handleType(int, null)
@@ -390,6 +405,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', dynamic, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(dynamic)
         listener: handleType(int, null)
@@ -415,6 +431,7 @@
       isReservedKeyword(else)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', else, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(else)
         listener: handleType(int, null)
@@ -442,6 +459,7 @@
       isReservedKeyword(enum)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', enum, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(enum)
         listener: handleType(int, null)
@@ -467,6 +485,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', export, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(export)
         listener: handleType(int, null)
@@ -492,6 +511,7 @@
       isReservedKeyword(extends)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', extends, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(extends)
         listener: handleType(int, null)
@@ -517,6 +537,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', extension, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(extension)
         listener: handleType(int, null)
@@ -540,6 +561,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', external, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(external)
         listener: handleType(int, null)
@@ -563,6 +585,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', factory, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(factory)
         listener: handleType(int, null)
@@ -588,6 +611,7 @@
       isReservedKeyword(false)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', false, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(false)
         listener: handleType(int, null)
@@ -615,6 +639,7 @@
       isReservedKeyword(final)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', final, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(final)
         listener: handleType(int, null)
@@ -642,6 +667,7 @@
       isReservedKeyword(finally)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', finally, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(finally)
         listener: handleType(int, null)
@@ -669,6 +695,7 @@
       isReservedKeyword(for)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', for, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(for)
         listener: handleType(int, null)
@@ -694,6 +721,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', Function, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(Function)
         listener: handleType(int, null)
@@ -717,6 +745,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', get, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(get)
         listener: handleType(int, null)
@@ -740,6 +769,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', hide, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(hide)
         listener: handleType(int, null)
@@ -765,6 +795,7 @@
       isReservedKeyword(if)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', if, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(if)
         listener: handleType(int, null)
@@ -790,6 +821,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', implements, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(implements)
         listener: handleType(int, null)
@@ -813,6 +845,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', import, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(import)
         listener: handleType(int, null)
@@ -838,6 +871,7 @@
       isReservedKeyword(in)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', in, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(in)
         listener: handleType(int, null)
@@ -863,6 +897,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', inout, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(inout)
         listener: handleType(int, null)
@@ -886,6 +921,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', interface, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(interface)
         listener: handleType(int, null)
@@ -911,6 +947,7 @@
       isReservedKeyword(is)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', is, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(is)
         listener: handleType(int, null)
@@ -936,6 +973,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', late, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(late)
         listener: handleType(int, null)
@@ -959,6 +997,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', library, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(library)
         listener: handleType(int, null)
@@ -982,6 +1021,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', mixin, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(mixin)
         listener: handleType(int, null)
@@ -1005,6 +1045,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', native, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(native)
         listener: handleType(int, null)
@@ -1030,6 +1071,7 @@
       isReservedKeyword(new)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', new, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(new)
         listener: handleType(int, null)
@@ -1057,6 +1099,7 @@
       isReservedKeyword(null)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', null, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(null)
         listener: handleType(int, null)
@@ -1082,6 +1125,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', of, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(of)
         listener: handleType(int, null)
@@ -1105,6 +1149,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', on, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(on)
         listener: handleType(int, null)
@@ -1128,6 +1173,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', operator, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(operator)
         listener: handleType(int, null)
@@ -1151,6 +1197,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', out, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(out)
         listener: handleType(int, null)
@@ -1174,6 +1221,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', part, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(part)
         listener: handleType(int, null)
@@ -1197,6 +1245,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', patch, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(patch)
         listener: handleType(int, null)
@@ -1220,6 +1269,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', required, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(required)
         listener: handleType(int, null)
@@ -1245,6 +1295,7 @@
       isReservedKeyword(rethrow)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', rethrow, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(rethrow)
         listener: handleType(int, null)
@@ -1272,6 +1323,7 @@
       isReservedKeyword(return)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', return, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(return)
         listener: handleType(int, null)
@@ -1297,6 +1349,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', set, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(set)
         listener: handleType(int, null)
@@ -1320,6 +1373,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', show, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(show)
         listener: handleType(int, null)
@@ -1343,6 +1397,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', source, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(source)
         listener: handleType(int, null)
@@ -1366,6 +1421,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', static, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(static)
         listener: handleType(int, null)
@@ -1391,6 +1447,7 @@
       isReservedKeyword(super)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', super, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(super)
         listener: handleType(int, null)
@@ -1418,6 +1475,7 @@
       isReservedKeyword(switch)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', switch, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(switch)
         listener: handleType(int, null)
@@ -1443,6 +1501,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', sync, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(sync)
         listener: handleType(int, null)
@@ -1466,6 +1525,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', this, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(this)
         listener: handleType(int, null)
@@ -1493,6 +1553,7 @@
       isReservedKeyword(throw)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', throw, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(throw)
         listener: handleType(int, null)
@@ -1520,6 +1581,7 @@
       isReservedKeyword(true)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', true, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(true)
         listener: handleType(int, null)
@@ -1547,6 +1609,7 @@
       isReservedKeyword(try)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', try, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(try)
         listener: handleType(int, null)
@@ -1572,6 +1635,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', typedef, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(typedef)
         listener: handleType(int, null)
@@ -1597,6 +1661,7 @@
       isReservedKeyword(var)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', var, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(var)
         listener: handleType(int, null)
@@ -1624,6 +1689,7 @@
       isReservedKeyword(void)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', void, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(void)
         listener: handleType(int, null)
@@ -1651,6 +1717,7 @@
       isReservedKeyword(while)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', while, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(while)
         listener: handleType(int, null)
@@ -1678,6 +1745,7 @@
       isReservedKeyword(with)
       indicatesMethodOrField(=)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', with, DeclarationKind.TopLevel, null, true)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(with)
         listener: handleType(int, null)
@@ -1703,6 +1771,7 @@
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
       parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', yield, DeclarationKind.TopLevel, null, false)
+        listener: beginFields(;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(yield)
         listener: handleType(int, null)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.expect
index 45af522..df30d32 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.expect
@@ -493,7 +493,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -511,12 +511,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(abstract, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -550,7 +550,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -568,12 +568,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(as, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -608,7 +608,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -624,12 +624,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
             handleRecoverableError(AssertAsExpression, assert, assert)
           endAssert(assert, Assert.Expression, (, null, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -663,7 +663,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -681,12 +681,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(async, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -720,7 +720,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -738,12 +738,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(await, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -778,7 +778,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -803,11 +803,11 @@
         handleNoArguments(-)
         handleSend(x, -)
         beginBinaryExpression(-)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(-)
         handleParenthesizedExpression(()
         beginBinaryExpression(+)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(+)
         handleExpressionStatement(;)
       endBlockFunctionBody(4, {, })
@@ -842,7 +842,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -861,12 +861,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(case, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -901,7 +901,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -920,12 +920,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(catch, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -960,7 +960,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -979,12 +979,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(class, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1019,7 +1019,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1042,12 +1042,12 @@
               handleNoArguments(-)
               handleSend(x, -)
               beginBinaryExpression(-)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(-)
             endArguments(1, (, ))
           endConstExpression(const)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1082,7 +1082,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1107,11 +1107,11 @@
         handleNoArguments(-)
         handleSend(x, -)
         beginBinaryExpression(-)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(-)
         handleParenthesizedExpression(()
         beginBinaryExpression(+)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(+)
         handleExpressionStatement(;)
       endBlockFunctionBody(4, {, })
@@ -1145,7 +1145,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1163,12 +1163,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(covariant, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1203,7 +1203,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1222,12 +1222,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(default, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1261,7 +1261,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1279,12 +1279,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(deferred, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1319,7 +1319,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1343,11 +1343,11 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
             handleParenthesizedExpression(()
             beginBinaryExpression(+)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(+)
             handleExpressionStatement(;)
           endDoWhileStatementBody(;)
@@ -1392,7 +1392,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1410,12 +1410,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(dynamic, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1450,7 +1450,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1480,11 +1480,11 @@
         handleNoArguments(-)
         handleSend(x, -)
         beginBinaryExpression(-)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(-)
         handleParenthesizedExpression(()
         beginBinaryExpression(+)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(+)
         handleExpressionStatement(;)
       endBlockFunctionBody(4, {, })
@@ -1519,7 +1519,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1538,12 +1538,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(enum, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1577,7 +1577,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1595,12 +1595,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(export, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1635,7 +1635,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1654,12 +1654,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(extends, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1693,7 +1693,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1711,12 +1711,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(extension, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1750,7 +1750,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1768,12 +1768,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(external, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1807,7 +1807,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1825,12 +1825,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(factory, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1865,7 +1865,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1883,12 +1883,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend((, ))
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -1923,7 +1923,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -1956,7 +1956,7 @@
         handleNoArguments(-)
         handleSend(x, -)
         beginBinaryExpression(-)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(-)
         handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 1, 1)
         handleExpressionStatement(;)
@@ -1974,7 +1974,7 @@
         handleNoArguments(+)
         handleSend(, +)
         beginBinaryExpression(+)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(+)
         handleExpressionStatement(;)
       endBlockFunctionBody(6, {, })
@@ -2009,7 +2009,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2028,12 +2028,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(finally, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2068,7 +2068,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2091,7 +2091,7 @@
           handleNoArguments(-)
           handleSend(x, -)
           beginBinaryExpression(-)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(-)
           handleForInitializerExpressionStatement(1, false)
           handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 1, 1)
@@ -2110,7 +2110,7 @@
             handleNoArguments(+)
             handleSend(, +)
             beginBinaryExpression(+)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(+)
             handleExpressionStatement(;)
           endForStatementBody(})
@@ -2146,7 +2146,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2164,12 +2164,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(Function, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2203,7 +2203,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2221,12 +2221,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(get, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2260,7 +2260,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2278,12 +2278,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(hide, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2318,7 +2318,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2341,7 +2341,7 @@
           handleNoArguments(-)
           handleSend(x, -)
           beginBinaryExpression(-)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(-)
           handleParenthesizedCondition(()
           beginThenStatement(+)
@@ -2351,7 +2351,7 @@
             handleNoArguments(+)
             handleSend(, +)
             beginBinaryExpression(+)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(+)
             handleExpressionStatement(;)
           endThenStatement(;)
@@ -2387,7 +2387,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2405,12 +2405,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(implements, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2444,7 +2444,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2462,12 +2462,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(import, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2502,7 +2502,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2521,12 +2521,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(in, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2560,7 +2560,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2578,12 +2578,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(inout, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2617,7 +2617,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2635,12 +2635,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(interface, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2675,7 +2675,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2704,11 +2704,11 @@
         handleNoArguments(-)
         handleSend(x, -)
         beginBinaryExpression(-)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(-)
         handleParenthesizedExpression(()
         beginBinaryExpression(+)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(+)
         handleExpressionStatement(;)
       endBlockFunctionBody(3, {, })
@@ -2742,7 +2742,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2760,12 +2760,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(late, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2799,7 +2799,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2817,12 +2817,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(library, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2856,7 +2856,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2874,12 +2874,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(mixin, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2913,7 +2913,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2931,12 +2931,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(native, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -2971,7 +2971,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -2994,12 +2994,12 @@
               handleNoArguments(-)
               handleSend(x, -)
               beginBinaryExpression(-)
-              handleLiteralInt(1)
+                handleLiteralInt(1)
               endBinaryExpression(-)
             endArguments(1, (, ))
           endNewExpression(new)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3034,7 +3034,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3052,12 +3052,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend((, ))
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3091,7 +3091,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3109,12 +3109,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(of, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3148,7 +3148,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3166,12 +3166,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(on, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3205,7 +3205,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3223,12 +3223,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(operator, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3262,7 +3262,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3280,12 +3280,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(out, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3319,7 +3319,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3337,12 +3337,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(part, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3376,7 +3376,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3394,12 +3394,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(patch, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3433,7 +3433,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3451,12 +3451,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(required, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3491,7 +3491,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3510,12 +3510,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(rethrow, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3550,7 +3550,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3566,11 +3566,11 @@
           handleNoArguments(-)
           handleSend(x, -)
           beginBinaryExpression(-)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(-)
           handleParenthesizedExpression(()
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3604,7 +3604,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3622,12 +3622,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(set, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3661,7 +3661,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3679,12 +3679,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(show, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3718,7 +3718,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3736,12 +3736,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(source, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3775,7 +3775,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3793,12 +3793,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(static, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3833,7 +3833,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3851,12 +3851,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(super, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -3891,7 +3891,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3914,7 +3914,7 @@
           handleNoArguments(-)
           handleSend(x, -)
           beginBinaryExpression(-)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(-)
           handleParenthesizedCondition(()
           handleRecoverableError(Message[ExpectedClassOrMixinBody, A switch statement must have a body, even if it is empty., Try adding an empty body., {string: switch statement}], ), ))
@@ -3927,7 +3927,7 @@
         handleNoArguments(+)
         handleSend(, +)
         beginBinaryExpression(+)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(+)
         handleExpressionStatement(;)
       endBlockFunctionBody(4, {, })
@@ -3961,7 +3961,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -3979,12 +3979,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(sync, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -4019,7 +4019,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -4037,12 +4037,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(this, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -4077,7 +4077,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -4092,11 +4092,11 @@
           handleNoArguments(-)
           handleSend(x, -)
           beginBinaryExpression(-)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(-)
           handleParenthesizedExpression(()
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
           handleThrowExpression(throw, ;)
         endReturnStatement(true, return, ;)
@@ -4132,7 +4132,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -4150,12 +4150,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend((, ))
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -4190,7 +4190,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -4218,11 +4218,11 @@
         handleNoArguments(-)
         handleSend(x, -)
         beginBinaryExpression(-)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(-)
         handleParenthesizedExpression(()
         beginBinaryExpression(+)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(+)
         handleExpressionStatement(;)
       endBlockFunctionBody(4, {, })
@@ -4256,7 +4256,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -4274,12 +4274,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(typedef, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -4314,7 +4314,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -4347,7 +4347,7 @@
         handleNoArguments(-)
         handleSend(x, -)
         beginBinaryExpression(-)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(-)
         handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 1, 1)
         handleExpressionStatement(;)
@@ -4365,7 +4365,7 @@
         handleNoArguments(+)
         handleSend(, +)
         beginBinaryExpression(+)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(+)
         handleExpressionStatement(;)
       endBlockFunctionBody(6, {, })
@@ -4400,7 +4400,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -4433,7 +4433,7 @@
         handleNoArguments(-)
         handleSend(x, -)
         beginBinaryExpression(-)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(-)
         handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 1, 1)
         handleExpressionStatement(;)
@@ -4451,7 +4451,7 @@
         handleNoArguments(+)
         handleSend(, +)
         beginBinaryExpression(+)
-        handleLiteralInt(1)
+          handleLiteralInt(1)
         endBinaryExpression(+)
         handleExpressionStatement(;)
       endBlockFunctionBody(6, {, })
@@ -4486,7 +4486,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -4509,7 +4509,7 @@
           handleNoArguments(-)
           handleSend(x, -)
           beginBinaryExpression(-)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(-)
           handleParenthesizedCondition(()
           beginWhileStatementBody(+)
@@ -4519,7 +4519,7 @@
             handleNoArguments(+)
             handleSend(, +)
             beginBinaryExpression(+)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(+)
             handleExpressionStatement(;)
           endWhileStatementBody(})
@@ -4556,7 +4556,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -4575,12 +4575,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(with, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
@@ -4614,7 +4614,7 @@
           handleNoArguments(==)
           handleSend(x, ==)
           beginBinaryExpression(==)
-          handleLiteralInt(0)
+            handleLiteralInt(0)
           endBinaryExpression(==)
           handleParenthesizedCondition(()
           beginThenStatement(return)
@@ -4632,12 +4632,12 @@
             handleNoArguments(-)
             handleSend(x, -)
             beginBinaryExpression(-)
-            handleLiteralInt(1)
+              handleLiteralInt(1)
             endBinaryExpression(-)
           endArguments(1, (, ))
           handleSend(yield, +)
           beginBinaryExpression(+)
-          handleLiteralInt(1)
+            handleLiteralInt(1)
           endBinaryExpression(+)
         endReturnStatement(true, return, ;)
       endBlockFunctionBody(2, {, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.expect
index 5a39839..22a636f 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.expect
@@ -467,1720 +467,1858 @@
 beginCompilationUnit(typedef)
   beginMetadataStar(typedef)
   endMetadataStar(0)
-  beginFunctionTypeAlias(typedef)
-    handleVoidKeyword(void)
-    handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'abstract'., null, {token: abstract}], abstract, abstract)
-    handleIdentifier(abstract, typedefDeclaration)
-    handleNoTypeVariables(()
-    beginFormalParameters((, MemberKind.FunctionTypeAlias)
-    endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-  endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-  handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'abstract'., null, {token: abstract}], abstract, abstract)
-  handleIdentifier(abstract, typedefDeclaration)
-  handleNoTypeVariables(=)
-  beginFunctionType(void)
-    handleNoTypeVariables(()
-    handleVoidKeyword(void)
-    beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-    endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-  endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'as'., null, {token: as}], as, as)
-handleIdentifier(as, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'as'., null, {token: as}], as, as)
-handleIdentifier(as, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'assert'., null, {token: assert}], assert, assert)
-handleIdentifier(assert, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'assert'., null, {token: assert}], assert, assert)
-handleIdentifier(assert, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleIdentifier(async, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleIdentifier(async, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleIdentifier(await, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleIdentifier(await, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'break'., null, {token: break}], break, break)
-handleIdentifier(break, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'break'., null, {token: break}], break, break)
-handleIdentifier(break, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'case'., null, {token: case}], case, case)
-handleIdentifier(case, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'case'., null, {token: case}], case, case)
-handleIdentifier(case, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'catch'., null, {token: catch}], catch, catch)
-handleIdentifier(catch, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'catch'., null, {token: catch}], catch, catch)
-handleIdentifier(catch, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'class'., null, {token: class}], class, class)
-handleIdentifier(class, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'class'., null, {token: class}], class, class)
-handleIdentifier(class, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'const'., null, {token: const}], const, const)
-handleIdentifier(const, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'const'., null, {token: const}], const, const)
-handleIdentifier(const, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'continue'., null, {token: continue}], continue, continue)
-handleIdentifier(continue, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'continue'., null, {token: continue}], continue, continue)
-handleIdentifier(continue, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'covariant'., null, {token: covariant}], covariant, covariant)
-handleIdentifier(covariant, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'covariant'., null, {token: covariant}], covariant, covariant)
-handleIdentifier(covariant, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'default'., null, {token: default}], default, default)
-handleIdentifier(default, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'default'., null, {token: default}], default, default)
-handleIdentifier(default, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'deferred'., null, {token: deferred}], deferred, deferred)
-handleIdentifier(deferred, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'deferred'., null, {token: deferred}], deferred, deferred)
-handleIdentifier(deferred, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'do'., null, {token: do}], do, do)
-handleIdentifier(do, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'do'., null, {token: do}], do, do)
-handleIdentifier(do, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'dynamic'., null, {token: dynamic}], dynamic, dynamic)
-handleIdentifier(dynamic, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'dynamic'., null, {token: dynamic}], dynamic, dynamic)
-handleIdentifier(dynamic, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'else'., null, {token: else}], else, else)
-handleIdentifier(else, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'else'., null, {token: else}], else, else)
-handleIdentifier(else, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'enum'., null, {token: enum}], enum, enum)
-handleIdentifier(enum, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'enum'., null, {token: enum}], enum, enum)
-handleIdentifier(enum, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'export'., null, {token: export}], export, export)
-handleIdentifier(export, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'export'., null, {token: export}], export, export)
-handleIdentifier(export, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'extends'., null, {token: extends}], extends, extends)
-handleIdentifier(extends, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'extends'., null, {token: extends}], extends, extends)
-handleIdentifier(extends, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'extension'., null, {token: extension}], extension, extension)
-handleIdentifier(extension, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'extension'., null, {token: extension}], extension, extension)
-handleIdentifier(extension, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'external'., null, {token: external}], external, external)
-handleIdentifier(external, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'external'., null, {token: external}], external, external)
-handleIdentifier(external, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'factory'., null, {token: factory}], factory, factory)
-handleIdentifier(factory, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'factory'., null, {token: factory}], factory, factory)
-handleIdentifier(factory, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'false'., null, {token: false}], false, false)
-handleIdentifier(false, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'false'., null, {token: false}], false, false)
-handleIdentifier(false, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'final'., null, {token: final}], final, final)
-handleIdentifier(final, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'final'., null, {token: final}], final, final)
-handleIdentifier(final, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'finally'., null, {token: finally}], finally, finally)
-handleIdentifier(finally, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'finally'., null, {token: finally}], finally, finally)
-handleIdentifier(finally, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'for'., null, {token: for}], for, for)
-handleIdentifier(for, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'for'., null, {token: for}], for, for)
-handleIdentifier(for, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'Function'., null, {token: Function}], Function, Function)
-handleIdentifier(Function, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'Function'., null, {token: Function}], Function, Function)
-handleIdentifier(Function, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'get'., null, {token: get}], get, get)
-handleIdentifier(get, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'get'., null, {token: get}], get, get)
-handleIdentifier(get, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleIdentifier(hide, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleIdentifier(hide, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'if'., null, {token: if}], if, if)
-handleIdentifier(if, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'if'., null, {token: if}], if, if)
-handleIdentifier(if, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'implements'., null, {token: implements}], implements, implements)
-handleIdentifier(implements, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'implements'., null, {token: implements}], implements, implements)
-handleIdentifier(implements, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'import'., null, {token: import}], import, import)
-handleIdentifier(import, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'import'., null, {token: import}], import, import)
-handleIdentifier(import, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'in'., null, {token: in}], in, in)
-handleIdentifier(in, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'in'., null, {token: in}], in, in)
-handleIdentifier(in, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleIdentifier(inout, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleIdentifier(inout, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'interface'., null, {token: interface}], interface, interface)
-handleIdentifier(interface, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'interface'., null, {token: interface}], interface, interface)
-handleIdentifier(interface, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'is'., null, {token: is}], is, is)
-handleIdentifier(is, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'is'., null, {token: is}], is, is)
-handleIdentifier(is, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'late'., null, {token: late}], late, late)
-handleIdentifier(late, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'late'., null, {token: late}], late, late)
-handleIdentifier(late, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'library'., null, {token: library}], library, library)
-handleIdentifier(library, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'library'., null, {token: library}], library, library)
-handleIdentifier(library, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'mixin'., null, {token: mixin}], mixin, mixin)
-handleIdentifier(mixin, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'mixin'., null, {token: mixin}], mixin, mixin)
-handleIdentifier(mixin, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleIdentifier(native, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleIdentifier(native, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'new'., null, {token: new}], new, new)
-handleIdentifier(new, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'new'., null, {token: new}], new, new)
-handleIdentifier(new, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'null'., null, {token: null}], null, null)
-handleIdentifier(null, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'null'., null, {token: null}], null, null)
-handleIdentifier(null, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleIdentifier(of, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleIdentifier(of, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleIdentifier(on, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleIdentifier(on, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleVoidKeyword(void)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'operator'., null, {token: operator}], operator, operator)
-handleIdentifier(operator, typedefDeclaration)
-handleNoTypeVariables(()
-beginFormalParameters((, MemberKind.FunctionTypeAlias)
-endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-endFunctionTypeAlias(typedef, null, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)
-handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got 'operator'., null, {token: operator}], operator, operator)
-handleIdentifier(operator, typedefDeclaration)
-handleNoTypeVariables(=)
-beginFunctionType(void)
-handleNoTypeVariables(()
-handleVoidKeyword(void)
-beginFormalParameters((, MemberKind.GeneralizedFunctionType)
-endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
-endFunctionType(Function, null)
-endFunctionTypeAlias(typedef, =, ;)
-endTopLevelDeclaration(typedef)
-beginMetadataStar(typedef)
-endMetadataStar(0)
-beginFunctionTypeAlias(typedef)