[cfe] Create SourceFactoryBuilder from fragments

Change-Id: Id9473e5c6cd78cb502c6c7a0a05dc6dc75a79a77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/385561
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
diff --git a/pkg/front_end/lib/src/builder/member_builder.dart b/pkg/front_end/lib/src/builder/member_builder.dart
index 2064e3e..c83ba4c 100644
--- a/pkg/front_end/lib/src/builder/member_builder.dart
+++ b/pkg/front_end/lib/src/builder/member_builder.dart
@@ -121,9 +121,9 @@
       parent is ClassBuilder ? parent as ClassBuilder : null;
 
   @override
+  // Coverage-ignore(suite): Not run.
   LibraryBuilder get libraryBuilder {
     if (parent is LibraryBuilder) {
-      // Coverage-ignore-block(suite): Not run.
       LibraryBuilder library = parent as LibraryBuilder;
       return library.partOfLibrary ?? library;
     } else if (parent is ExtensionBuilder) {
diff --git a/pkg/front_end/lib/src/fragment/fragment.dart b/pkg/front_end/lib/src/fragment/fragment.dart
index 3eeda4f..747561a 100644
--- a/pkg/front_end/lib/src/fragment/fragment.dart
+++ b/pkg/front_end/lib/src/fragment/fragment.dart
@@ -20,6 +20,7 @@
 import '../source/source_enum_builder.dart';
 import '../source/source_extension_builder.dart';
 import '../source/source_extension_type_declaration_builder.dart';
+import '../source/source_factory_builder.dart';
 import '../source/source_field_builder.dart';
 import '../source/source_procedure_builder.dart';
 import '../source/source_type_alias_builder.dart';
@@ -104,16 +105,12 @@
 
   @override
   SourceClassBuilder get builder {
-    assert(
-        _builder != null, // Coverage-ignore(suite): Not run.
-        "Builder has not been computed for $this.");
+    assert(_builder != null, "Builder has not been computed for $this.");
     return _builder!;
   }
 
   void set builder(SourceClassBuilder value) {
-    assert(
-        _builder == null, // Coverage-ignore(suite): Not run.
-        "Builder has already been computed for $this.");
+    assert(_builder == null, "Builder has already been computed for $this.");
     _builder = value;
   }
 
@@ -164,16 +161,12 @@
 
   @override
   SourceClassBuilder get builder {
-    assert(
-        _builder != null, // Coverage-ignore(suite): Not run.
-        "Builder has not been computed for $this.");
+    assert(_builder != null, "Builder has not been computed for $this.");
     return _builder!;
   }
 
   void set builder(SourceClassBuilder value) {
-    assert(
-        _builder == null, // Coverage-ignore(suite): Not run.
-        "Builder has already been computed for $this.");
+    assert(_builder == null, "Builder has already been computed for $this.");
     _builder = value;
   }
 
@@ -512,16 +505,12 @@
 
   @override
   SourceFieldBuilder get builder {
-    assert(
-        _builder != null, // Coverage-ignore(suite): Not run.
-        "Builder has not been computed for $this.");
+    assert(_builder != null, "Builder has not been computed for $this.");
     return _builder!;
   }
 
   void set builder(SourceFieldBuilder value) {
-    assert(
-        _builder == null, // Coverage-ignore(suite): Not run.
-        "Builder has already been computed for $this.");
+    assert(_builder == null, "Builder has already been computed for $this.");
     _builder = value;
   }
 
@@ -571,16 +560,12 @@
 
   @override
   SourceProcedureBuilder get builder {
-    assert(
-        _builder != null, // Coverage-ignore(suite): Not run.
-        "Builder has not been computed for $this.");
+    assert(_builder != null, "Builder has not been computed for $this.");
     return _builder!;
   }
 
   void set builder(SourceProcedureBuilder value) {
-    assert(
-        _builder == null, // Coverage-ignore(suite): Not run.
-        "Builder has already been computed for $this.");
+    assert(_builder == null, "Builder has already been computed for $this.");
     _builder = value;
   }
 
@@ -638,16 +623,67 @@
 
   @override
   AbstractSourceConstructorBuilder get builder {
-    assert(
-        _builder != null, // Coverage-ignore(suite): Not run.
-        "Builder has not been computed for $this.");
+    assert(_builder != null, "Builder has not been computed for $this.");
     return _builder!;
   }
 
   void set builder(AbstractSourceConstructorBuilder value) {
-    assert(
-        _builder == null, // Coverage-ignore(suite): Not run.
-        "Builder has already been computed for $this.");
+    assert(_builder == null, "Builder has already been computed for $this.");
+    _builder = value;
+  }
+
+  @override
+  String toString() => '$runtimeType($name,$fileUri,$charOffset)';
+}
+
+class FactoryFragment implements Fragment {
+  final String name;
+  final Uri fileUri;
+  final int startCharOffset;
+  final int charOffset;
+  final int charOpenParenOffset;
+  final int charEndOffset;
+  final int modifiers;
+  final List<MetadataBuilder>? metadata;
+  final TypeBuilder returnType;
+  final List<NominalVariableBuilder>? typeParameters;
+  final List<FormalParameterBuilder>? formals;
+  final Reference? constructorReference;
+  final Reference? tearOffReference;
+  final AsyncMarker asyncModifier;
+  final NameScheme nameScheme;
+  final String? nativeMethodName;
+  final ConstructorReferenceBuilder? redirectionTarget;
+
+  SourceFactoryBuilder? _builder;
+
+  FactoryFragment(
+      {required this.name,
+      required this.fileUri,
+      required this.startCharOffset,
+      required this.charOffset,
+      required this.charOpenParenOffset,
+      required this.charEndOffset,
+      required this.modifiers,
+      required this.metadata,
+      required this.returnType,
+      required this.typeParameters,
+      required this.formals,
+      required this.constructorReference,
+      required this.tearOffReference,
+      required this.asyncModifier,
+      required this.nameScheme,
+      required this.nativeMethodName,
+      required this.redirectionTarget});
+
+  @override
+  SourceFactoryBuilder get builder {
+    assert(_builder != null, "Builder has not been computed for $this.");
+    return _builder!;
+  }
+
+  void set builder(SourceFactoryBuilder value) {
+    assert(_builder == null, "Builder has already been computed for $this.");
     _builder = value;
   }
 
diff --git a/pkg/front_end/lib/src/source/name_scheme.dart b/pkg/front_end/lib/src/source/name_scheme.dart
index 99e8d69..28a4d38 100644
--- a/pkg/front_end/lib/src/source/name_scheme.dart
+++ b/pkg/front_end/lib/src/source/name_scheme.dart
@@ -236,6 +236,7 @@
     if (_reference != value) {
       _reference = value;
       for (MemberName name in _memberNames) {
+        // Coverage-ignore-block(suite): Not run.
         name.updateMemberName();
       }
     }
diff --git a/pkg/front_end/lib/src/source/offset_map.dart b/pkg/front_end/lib/src/source/offset_map.dart
index e565841..8b79213 100644
--- a/pkg/front_end/lib/src/source/offset_map.dart
+++ b/pkg/front_end/lib/src/source/offset_map.dart
@@ -25,8 +25,8 @@
   final Uri uri;
   final Map<int, DeclarationFragment> _declarationFragments = {};
   final Map<int, FieldFragment> _fields = {};
-  final Map<int, SourceFunctionBuilder> _constructors = {};
   final Map<int, ConstructorFragment> _constructorFragments = {};
+  final Map<int, FactoryFragment> _factoryFragments = {};
   final Map<int, MethodFragment> _procedures = {};
   final Map<int, LibraryPart> _parts = {};
   final Map<int, Import> _imports = {};
@@ -112,20 +112,20 @@
         '<primary-constructor>', beginToken.charOffset);
   }
 
-  void registerConstructor(
-      Identifier identifier, SourceFunctionBuilder builder) {
-    _constructors[identifier.nameOffset] = builder;
-  }
-
   void registerConstructorFragment(
       Identifier identifier, ConstructorFragment fragment) {
     _constructorFragments[identifier.nameOffset] = fragment;
   }
 
+  void registerFactoryFragment(
+      Identifier identifier, FactoryFragment fragment) {
+    _factoryFragments[identifier.nameOffset] = fragment;
+  }
+
   SourceFunctionBuilder lookupConstructor(Identifier identifier) {
     return _checkBuilder(
-        _constructors[identifier.nameOffset] ??
-            _constructorFragments[identifier.nameOffset]?.builder,
+        _constructorFragments[identifier.nameOffset]?.builder ??
+            _factoryFragments[identifier.nameOffset]?.builder,
         identifier.name,
         identifier.nameOffset);
   }
diff --git a/pkg/front_end/lib/src/source/source_builder_factory.dart b/pkg/front_end/lib/src/source/source_builder_factory.dart
index 38e1760..0c2495d 100644
--- a/pkg/front_end/lib/src/source/source_builder_factory.dart
+++ b/pkg/front_end/lib/src/source/source_builder_factory.dart
@@ -58,8 +58,6 @@
 import 'offset_map.dart';
 import 'source_class_builder.dart' show SourceClassBuilder;
 import 'source_enum_builder.dart';
-import 'source_factory_builder.dart';
-import 'source_function_builder.dart';
 import 'source_library_builder.dart';
 import 'source_loader.dart' show SourceLoader;
 import 'type_parameter_scope_builder.dart';
@@ -121,7 +119,7 @@
 
   final List<StructuralVariableBuilder> _unboundStructuralVariables = [];
 
-  final List<SourceFunctionBuilder> _nativeMethods = [];
+  final List<FactoryFragment> _nativeFactoryFragments = [];
 
   final List<MethodFragment> _nativeMethodFragments = [];
 
@@ -1934,69 +1932,37 @@
               .getConstructorMemberName(procedureName, isTearOff: true)
               .name);
     }
-
-    SourceFactoryBuilder procedureBuilder;
-    List<NominalVariableBuilder>? typeVariables;
-    if (redirectionTarget != null) {
-      procedureBuilder = new RedirectingFactoryBuilder(
-          metadata,
-          staticMask | modifiers,
-          returnType,
-          procedureName,
-          typeVariables = copyTypeVariables(
-                  _unboundNominalVariables, enclosingDeclaration.typeParameters,
-                  kind: TypeVariableKind.function,
-                  instanceTypeVariableAccess:
-                      InstanceTypeVariableAccessState.Allowed)
-              ?.newVariableBuilders,
-          formals,
-          _parent,
-          _compilationUnit.fileUri,
-          startCharOffset,
-          charOffset,
-          charOpenParenOffset,
-          charEndOffset,
-          constructorReference,
-          tearOffReference,
-          procedureNameScheme,
-          nativeMethodName,
-          redirectionTarget);
-      (_parent.redirectingFactoryBuilders ??= [])
-          .add(procedureBuilder as RedirectingFactoryBuilder);
-    } else {
-      procedureBuilder = new SourceFactoryBuilder(
-          metadata,
-          staticMask | modifiers,
-          returnType,
-          procedureName,
-          typeVariables = copyTypeVariables(
-                  _unboundNominalVariables, enclosingDeclaration.typeParameters,
-                  kind: TypeVariableKind.function,
-                  instanceTypeVariableAccess:
-                      InstanceTypeVariableAccessState.Allowed)
-              ?.newVariableBuilders,
-          formals,
-          _parent,
-          _compilationUnit.fileUri,
-          startCharOffset,
-          charOffset,
-          charOpenParenOffset,
-          charEndOffset,
-          constructorReference,
-          tearOffReference,
-          asyncModifier,
-          procedureNameScheme,
-          nativeMethodName: nativeMethodName);
-    }
+    List<NominalVariableBuilder>? typeVariables = copyTypeVariables(
+            _unboundNominalVariables, enclosingDeclaration.typeParameters,
+            kind: TypeVariableKind.function,
+            instanceTypeVariableAccess: InstanceTypeVariableAccessState.Allowed)
+        ?.newVariableBuilders;
+    FactoryFragment fragment = new FactoryFragment(
+        name: procedureName,
+        fileUri: _compilationUnit.fileUri,
+        startCharOffset: startCharOffset,
+        charOffset: charOffset,
+        charOpenParenOffset: charOpenParenOffset,
+        charEndOffset: charEndOffset,
+        modifiers: staticMask | modifiers,
+        metadata: metadata,
+        returnType: returnType,
+        typeParameters: typeVariables,
+        formals: formals,
+        constructorReference: constructorReference,
+        tearOffReference: tearOffReference,
+        asyncModifier: asyncModifier,
+        nameScheme: procedureNameScheme,
+        nativeMethodName: nativeMethodName,
+        redirectionTarget: redirectionTarget);
 
     if (returnTypeArguments != null && typeVariables != null) {
       for (TypeVariableBuilder typeVariable in typeVariables) {
         returnTypeArguments.add(addNamedType(
-            new SyntheticTypeName(
-                typeVariable.name, procedureBuilder.charOffset),
+            new SyntheticTypeName(typeVariable.name, charOffset),
             const NullabilityBuilder.omitted(),
             null,
-            procedureBuilder.charOffset,
+            charOffset,
             instanceTypeVariableAccess:
                 InstanceTypeVariableAccessState.Allowed));
       }
@@ -2009,12 +1975,11 @@
         _problemReporting, typeVariables,
         ownerName: identifier.name, allowNameConflict: true);
 
-    _addBuilder(procedureName, procedureBuilder, charOffset,
-        getterReference: constructorReference);
+    _addFragment(fragment, getterReference: constructorReference);
     if (nativeMethodName != null) {
-      _addNativeMethod(procedureBuilder);
+      _addNativeFactoryFragment(fragment);
     }
-    offsetMap.registerConstructor(identifier, procedureBuilder);
+    offsetMap.registerFactoryFragment(identifier, fragment);
   }
 
   @override
@@ -2113,8 +2078,8 @@
     _nativeConstructorFragments.add(fragment);
   }
 
-  void _addNativeMethod(SourceFunctionBuilder method) {
-    _nativeMethods.add(method);
+  void _addNativeFactoryFragment(FactoryFragment method) {
+    _nativeFactoryFragments.add(method);
   }
 
   @override
@@ -2639,25 +2604,6 @@
     return _compilationUnit.loader.inferableTypes.addInferableType();
   }
 
-  void _addBuilder(String name, Builder declaration, int charOffset,
-      {Reference? getterReference, Reference? setterReference}) {
-    if (getterReference != null) {
-      loader.buildersCreatedWithReferences[getterReference] = declaration;
-    }
-    if (setterReference != null) {
-      // Coverage-ignore-block(suite): Not run.
-      loader.buildersCreatedWithReferences[setterReference] = declaration;
-    }
-    if (_declarationFragments.isEmpty) {
-      // Coverage-ignore-block(suite): Not run.
-      _libraryNameSpaceBuilder.addBuilder(
-          name, declaration, _compilationUnit.fileUri, charOffset);
-    } else {
-      _declarationFragments.current
-          .addBuilder(name, declaration, _compilationUnit.fileUri, charOffset);
-    }
-  }
-
   void _addFragment(Fragment fragment,
       {Reference? getterReference, Reference? setterReference}) {
     if (getterReference != null) {
@@ -2727,8 +2673,8 @@
 
   @override
   int finishNativeMethods() {
-    for (SourceFunctionBuilder method in _nativeMethods) {
-      method.becomeNative(loader);
+    for (FactoryFragment fragment in _nativeFactoryFragments) {
+      fragment.builder.becomeNative(loader);
     }
     for (MethodFragment fragment in _nativeMethodFragments) {
       fragment.builder.becomeNative(loader);
@@ -2736,7 +2682,7 @@
     for (ConstructorFragment fragment in _nativeConstructorFragments) {
       fragment.builder.becomeNative(loader);
     }
-    return _nativeMethods.length;
+    return _nativeFactoryFragments.length;
   }
 
   @override
diff --git a/pkg/front_end/lib/src/source/source_factory_builder.dart b/pkg/front_end/lib/src/source/source_factory_builder.dart
index c33edf2..230dd23 100644
--- a/pkg/front_end/lib/src/source/source_factory_builder.dart
+++ b/pkg/front_end/lib/src/source/source_factory_builder.dart
@@ -45,6 +45,9 @@
 import 'source_member_builder.dart';
 
 class SourceFactoryBuilder extends SourceFunctionBuilderImpl {
+  @override
+  final SourceLibraryBuilder libraryBuilder;
+
   final int charOpenParenOffset;
 
   AsyncMarker actualAsyncModifier = AsyncMarker.Sync;
@@ -73,7 +76,8 @@
       String name,
       List<NominalVariableBuilder>? typeVariables,
       List<FormalParameterBuilder>? formals,
-      SourceLibraryBuilder libraryBuilder,
+      this.libraryBuilder,
+      DeclarationBuilder declarationBuilder,
       Uri fileUri,
       int startCharOffset,
       int charOffset,
@@ -85,15 +89,15 @@
       NameScheme nameScheme,
       {String? nativeMethodName})
       : _memberName = nameScheme.getDeclaredName(name),
-        super(metadata, modifiers, name, typeVariables, formals, libraryBuilder,
-            fileUri, charOffset, nativeMethodName) {
+        super(metadata, modifiers, name, typeVariables, formals,
+            declarationBuilder, fileUri, charOffset, nativeMethodName) {
     _procedureInternal = new Procedure(
         dummyName,
         nameScheme.isExtensionTypeMember
             ? ProcedureKind.Method
             : ProcedureKind.Factory,
         new FunctionNode(null),
-        fileUri: libraryBuilder.fileUri,
+        fileUri: fileUri,
         reference: procedureReference)
       ..fileStartOffset = startCharOffset
       ..fileOffset = charOffset
@@ -105,7 +109,7 @@
     _factoryTearOff = createFactoryTearOffProcedure(
         nameScheme.getConstructorMemberName(name, isTearOff: true),
         libraryBuilder,
-        libraryBuilder.fileUri,
+        fileUri,
         charOffset,
         tearOffReference,
         forceCreateLowering: nameScheme.isExtensionTypeMember)
@@ -367,6 +371,7 @@
       List<NominalVariableBuilder>? typeVariables,
       List<FormalParameterBuilder>? formals,
       SourceLibraryBuilder libraryBuilder,
+      DeclarationBuilder declarationBuilder,
       Uri fileUri,
       int startCharOffset,
       int charOffset,
@@ -385,6 +390,7 @@
             typeVariables,
             formals,
             libraryBuilder,
+            declarationBuilder,
             fileUri,
             startCharOffset,
             charOffset,
diff --git a/pkg/front_end/lib/src/source/source_member_builder.dart b/pkg/front_end/lib/src/source/source_member_builder.dart
index 19aa8b0..a93e1c0 100644
--- a/pkg/front_end/lib/src/source/source_member_builder.dart
+++ b/pkg/front_end/lib/src/source/source_member_builder.dart
@@ -124,10 +124,6 @@
         super(parent, fileUri, charOffset);
 
   @override
-  SourceLibraryBuilder get libraryBuilder =>
-      super.libraryBuilder as SourceLibraryBuilder;
-
-  @override
   bool get isAugmentation => modifiers & augmentMask != 0;
 
   bool? _isConflictingSetter;
diff --git a/pkg/front_end/lib/src/source/type_parameter_scope_builder.dart b/pkg/front_end/lib/src/source/type_parameter_scope_builder.dart
index 23e0200..f9fd53f 100644
--- a/pkg/front_end/lib/src/source/type_parameter_scope_builder.dart
+++ b/pkg/front_end/lib/src/source/type_parameter_scope_builder.dart
@@ -23,6 +23,7 @@
 import 'source_enum_builder.dart';
 import 'source_extension_builder.dart';
 import 'source_extension_type_declaration_builder.dart';
+import 'source_factory_builder.dart';
 import 'source_field_builder.dart';
 import 'source_library_builder.dart';
 import 'source_loader.dart';
@@ -40,24 +41,6 @@
       required List<_AddBuilder> builders});
 }
 
-class _AddedBuilder implements _Added {
-  final _AddBuilder builder;
-
-  _AddedBuilder(this.builder);
-
-  @override
-  void getAddBuilders(
-      {required ProblemReporting problemReporting,
-      required SourceLoader loader,
-      required SourceLibraryBuilder enclosingLibraryBuilder,
-      DeclarationBuilder? declarationBuilder,
-      required List<NominalVariableBuilder> unboundNominalVariables,
-      required Map<SourceClassBuilder, TypeBuilder> mixinApplications,
-      required List<_AddBuilder> builders}) {
-    builders.add(builder);
-  }
-}
-
 class _AddedFragment implements _Added {
   final Fragment fragment;
 
@@ -457,6 +440,54 @@
         fragment.builder = constructorBuilder;
         builders.add(new _AddBuilder(fragment.name, constructorBuilder,
             fragment.fileUri, fragment.charOffset));
+      case FactoryFragment():
+        SourceFactoryBuilder factoryBuilder;
+        if (fragment.redirectionTarget != null) {
+          factoryBuilder = new RedirectingFactoryBuilder(
+              fragment.metadata,
+              fragment.modifiers,
+              fragment.returnType,
+              fragment.name,
+              fragment.typeParameters,
+              fragment.formals,
+              enclosingLibraryBuilder,
+              declarationBuilder!,
+              fragment.fileUri,
+              fragment.startCharOffset,
+              fragment.charOffset,
+              fragment.charOpenParenOffset,
+              fragment.charEndOffset,
+              fragment.constructorReference,
+              fragment.tearOffReference,
+              fragment.nameScheme,
+              fragment.nativeMethodName,
+              fragment.redirectionTarget!);
+          (enclosingLibraryBuilder.redirectingFactoryBuilders ??= [])
+              .add(factoryBuilder as RedirectingFactoryBuilder);
+        } else {
+          factoryBuilder = new SourceFactoryBuilder(
+              fragment.metadata,
+              fragment.modifiers,
+              fragment.returnType,
+              fragment.name,
+              fragment.typeParameters,
+              fragment.formals,
+              enclosingLibraryBuilder,
+              declarationBuilder!,
+              fragment.fileUri,
+              fragment.startCharOffset,
+              fragment.charOffset,
+              fragment.charOpenParenOffset,
+              fragment.charEndOffset,
+              fragment.constructorReference,
+              fragment.tearOffReference,
+              fragment.asyncModifier,
+              fragment.nameScheme,
+              nativeMethodName: fragment.nativeMethodName);
+        }
+        fragment.builder = factoryBuilder;
+        builders.add(new _AddBuilder(fragment.name, factoryBuilder,
+            fragment.fileUri, fragment.charOffset));
     }
   }
 }
@@ -468,13 +499,6 @@
 
   List<_Added> _added = [];
 
-  // Coverage-ignore(suite): Not run.
-  void addBuilder(
-      String name, Builder declaration, Uri fileUri, int charOffset) {
-    _added.add(new _AddedBuilder(
-        new _AddBuilder(name, declaration, fileUri, charOffset)));
-  }
-
   void addFragment(Fragment fragment) {
     _added.add(new _AddedFragment(fragment));
   }
@@ -715,12 +739,6 @@
     (primaryConstructorFields ??= []).add(builder);
   }
 
-  void addBuilder(
-      String name, Builder declaration, Uri fileUri, int charOffset) {
-    _added.add(new _AddedBuilder(
-        new _AddBuilder(name, declaration, fileUri, charOffset)));
-  }
-
   void addFragment(Fragment fragment) {
     _added.add(new _AddedFragment(fragment));
   }
diff --git a/pkg/front_end/test/coverage_suite_expected.dart b/pkg/front_end/test/coverage_suite_expected.dart
index a657052..ff120dc 100644
--- a/pkg/front_end/test/coverage_suite_expected.dart
+++ b/pkg/front_end/test/coverage_suite_expected.dart
@@ -325,7 +325,7 @@
   ),
   // 100.0%.
   "package:front_end/src/builder/member_builder.dart": (
-    hitCount: 146,
+    hitCount: 133,
     missCount: 0,
   ),
   // 100.0%.
@@ -480,7 +480,7 @@
   ),
   // 100.0%.
   "package:front_end/src/fragment/fragment.dart": (
-    hitCount: 103,
+    hitCount: 120,
     missCount: 0,
   ),
   // 100.0%.
@@ -785,12 +785,12 @@
   ),
   // 100.0%.
   "package:front_end/src/source/name_scheme.dart": (
-    hitCount: 219,
+    hitCount: 217,
     missCount: 0,
   ),
   // 100.0%.
   "package:front_end/src/source/offset_map.dart": (
-    hitCount: 122,
+    hitCount: 132,
     missCount: 0,
   ),
   // 100.0%.
@@ -805,7 +805,7 @@
   ),
   // 100.0%.
   "package:front_end/src/source/source_builder_factory.dart": (
-    hitCount: 1401,
+    hitCount: 1370,
     missCount: 0,
   ),
   // 100.0%.
@@ -825,12 +825,12 @@
   ),
   // 100.0%.
   "package:front_end/src/source/source_constructor_builder.dart": (
-    hitCount: 871,
+    hitCount: 866,
     missCount: 0,
   ),
   // 100.0%.
   "package:front_end/src/source/source_enum_builder.dart": (
-    hitCount: 525,
+    hitCount: 523,
     missCount: 0,
   ),
   // 100.0%.
@@ -846,7 +846,7 @@
   ),
   // 100.0%.
   "package:front_end/src/source/source_factory_builder.dart": (
-    hitCount: 583,
+    hitCount: 586,
     missCount: 0,
   ),
   // 100.0%.
@@ -871,7 +871,7 @@
   ),
   // 100.0%.
   "package:front_end/src/source/source_member_builder.dart": (
-    hitCount: 25,
+    hitCount: 23,
     missCount: 0,
   ),
   // 100.0%.
@@ -891,7 +891,7 @@
   ),
   // 100.0%.
   "package:front_end/src/source/type_parameter_scope_builder.dart": (
-    hitCount: 544,
+    hitCount: 624,
     missCount: 0,
   ),
   // 100.0%.
@@ -936,7 +936,7 @@
   ),
   // 100.0%.
   "package:front_end/src/type_inference/matching_cache.dart": (
-    hitCount: 546,
+    hitCount: 545,
     missCount: 0,
   ),
   // 100.0%.