[cfe] Remove exports from internal libraries

Change-Id: Ief854e97f5cd3c8a04137ec6682f8193946abcac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213770
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
diff --git a/pkg/front_end/lib/src/fasta/builder/constructor_builder.dart b/pkg/front_end/lib/src/fasta/builder/constructor_builder.dart
index 2167087..31ac71e 100644
--- a/pkg/front_end/lib/src/fasta/builder/constructor_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/constructor_builder.dart
@@ -18,7 +18,7 @@
 import '../kernel/constructor_tearoff_lowering.dart';
 import '../kernel/expression_generator_helper.dart'
     show ExpressionGeneratorHelper;
-import '../kernel/kernel_builder.dart'
+import '../kernel/utils.dart'
     show isRedirectingGenerativeConstructorImplementation;
 import '../kernel/kernel_helper.dart' show SynthesizedFunctionNode;
 
diff --git a/pkg/front_end/lib/src/fasta/builder/factory_builder.dart b/pkg/front_end/lib/src/fasta/builder/factory_builder.dart
index f375735..090b24b 100644
--- a/pkg/front_end/lib/src/fasta/builder/factory_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/factory_builder.dart
@@ -3,6 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'package:kernel/ast.dart';
+import 'package:kernel/core_types.dart';
 import 'package:kernel/type_algebra.dart';
 
 import '../dill/dill_member_builder.dart';
@@ -11,7 +12,6 @@
 import '../kernel/constructor_tearoff_lowering.dart';
 import '../kernel/forest.dart';
 import '../kernel/internal_ast.dart';
-import '../kernel/kernel_api.dart';
 import '../kernel/kernel_helper.dart';
 import '../kernel/redirecting_factory_body.dart'
     show getRedirectingFactoryBody, RedirectingFactoryBody;
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 2c6ea0c..ca2aa43 100644
--- a/pkg/front_end/lib/src/fasta/builder/field_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/field_builder.dart
@@ -17,7 +17,7 @@
 
 import '../kernel/body_builder.dart' show BodyBuilder;
 import '../kernel/class_hierarchy_builder.dart';
-import '../kernel/kernel_builder.dart' show ImplicitFieldType;
+import '../kernel/implicit_field_type.dart';
 import '../kernel/kernel_helper.dart';
 import '../kernel/late_lowering.dart' as late_lowering;
 import '../kernel/member_covariance.dart';
diff --git a/pkg/front_end/lib/src/fasta/builder/library_builder.dart b/pkg/front_end/lib/src/fasta/builder/library_builder.dart
index 439f98b..73cabf5 100644
--- a/pkg/front_end/lib/src/fasta/builder/library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/library_builder.dart
@@ -8,7 +8,7 @@
 
 import 'package:kernel/ast.dart' show Library, Nullability;
 
-import '../combinator.dart' show Combinator;
+import '../combinator.dart' show CombinatorBuilder;
 
 import '../problems.dart' show internalProblem, unsupported;
 
@@ -76,8 +76,8 @@
 
   Builder? addBuilder(String? name, Builder declaration, int charOffset);
 
-  void addExporter(
-      LibraryBuilder exporter, List<Combinator>? combinators, int charOffset);
+  void addExporter(LibraryBuilder exporter,
+      List<CombinatorBuilder>? combinators, int charOffset);
 
   /// Add a problem with a severity determined by the severity of the message.
   ///
@@ -242,8 +242,8 @@
   }
 
   @override
-  void addExporter(
-      LibraryBuilder exporter, List<Combinator>? combinators, int charOffset) {
+  void addExporter(LibraryBuilder exporter,
+      List<CombinatorBuilder>? combinators, int charOffset) {
     exporters.add(new Export(exporter, this, combinators, charOffset));
   }
 
diff --git a/pkg/front_end/lib/src/fasta/builder/procedure_builder.dart b/pkg/front_end/lib/src/fasta/builder/procedure_builder.dart
index 48b6cd4..7f0a2a7 100644
--- a/pkg/front_end/lib/src/fasta/builder/procedure_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/procedure_builder.dart
@@ -3,9 +3,9 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'package:kernel/ast.dart';
+import 'package:kernel/type_algebra.dart';
 
 import '../kernel/class_hierarchy_builder.dart';
-import '../kernel/kernel_api.dart';
 import '../kernel/member_covariance.dart';
 
 import '../loader.dart' show Loader;
diff --git a/pkg/front_end/lib/src/fasta/combinator.dart b/pkg/front_end/lib/src/fasta/combinator.dart
index 9f97607..9f07af0 100644
--- a/pkg/front_end/lib/src/fasta/combinator.dart
+++ b/pkg/front_end/lib/src/fasta/combinator.dart
@@ -2,19 +2,17 @@
 // 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.combinator;
-
-class Combinator {
+class CombinatorBuilder {
   final bool isShow;
 
   final Set<String> names;
 
-  Combinator(this.isShow, this.names, int charOffset, Uri fileUri);
+  CombinatorBuilder(this.isShow, this.names, int charOffset, Uri fileUri);
 
-  Combinator.show(Iterable<String> names, int charOffset, Uri fileUri)
+  CombinatorBuilder.show(Iterable<String> names, int charOffset, Uri fileUri)
       : this(true, new Set<String>.from(names), charOffset, fileUri);
 
-  Combinator.hide(Iterable<String> names, int charOffset, Uri fileUri)
+  CombinatorBuilder.hide(Iterable<String> names, int charOffset, Uri fileUri)
       : this(false, new Set<String>.from(names), charOffset, fileUri);
 
   bool get isHide => !isShow;
diff --git a/pkg/front_end/lib/src/fasta/dill/dill_member_builder.dart b/pkg/front_end/lib/src/fasta/dill/dill_member_builder.dart
index 9730305..4917953 100644
--- a/pkg/front_end/lib/src/fasta/dill/dill_member_builder.dart
+++ b/pkg/front_end/lib/src/fasta/dill/dill_member_builder.dart
@@ -14,7 +14,7 @@
 import '../kernel/class_hierarchy_builder.dart'
     show ClassHierarchyBuilder, ClassMember;
 import '../kernel/member_covariance.dart';
-import '../kernel/kernel_builder.dart'
+import '../kernel/utils.dart'
     show isRedirectingGenerativeConstructorImplementation;
 
 import '../modifier.dart'
diff --git a/pkg/front_end/lib/src/fasta/export.dart b/pkg/front_end/lib/src/fasta/export.dart
index 34a0ba9..323a5f7 100644
--- a/pkg/front_end/lib/src/fasta/export.dart
+++ b/pkg/front_end/lib/src/fasta/export.dart
@@ -7,7 +7,7 @@
 import 'builder/builder.dart';
 import 'builder/library_builder.dart';
 
-import 'combinator.dart' show Combinator;
+import 'combinator.dart' show CombinatorBuilder;
 import 'fasta_codes.dart';
 
 class Export {
@@ -17,7 +17,7 @@
   /// The library being exported.
   LibraryBuilder exported;
 
-  final List<Combinator>? combinators;
+  final List<CombinatorBuilder>? combinators;
 
   final int charOffset;
 
@@ -27,7 +27,7 @@
 
   bool addToExportScope(String name, Builder member) {
     if (combinators != null) {
-      for (Combinator combinator in combinators!) {
+      for (CombinatorBuilder combinator in combinators!) {
         if (combinator.isShow && !combinator.names.contains(name)) return false;
         if (combinator.isHide && combinator.names.contains(name)) return false;
       }
diff --git a/pkg/front_end/lib/src/fasta/import.dart b/pkg/front_end/lib/src/fasta/import.dart
index 439ec37..ec7df03 100644
--- a/pkg/front_end/lib/src/fasta/import.dart
+++ b/pkg/front_end/lib/src/fasta/import.dart
@@ -10,9 +10,9 @@
 import 'builder/library_builder.dart';
 import 'builder/prefix_builder.dart';
 
-import 'kernel/kernel_builder.dart' show toKernelCombinators;
+import 'kernel/utils.dart' show toKernelCombinators;
 
-import 'combinator.dart' show Combinator;
+import 'combinator.dart' show CombinatorBuilder;
 
 import 'configuration.dart' show Configuration;
 
@@ -31,7 +31,7 @@
 
   final String? prefix;
 
-  final List<Combinator>? combinators;
+  final List<CombinatorBuilder>? combinators;
 
   final List<Configuration>? configurations;
 
@@ -73,7 +73,7 @@
     }
     imported!.exportScope.forEach((String name, Builder member) {
       if (combinators != null) {
-        for (Combinator combinator in combinators!) {
+        for (CombinatorBuilder combinator in combinators!) {
           if (combinator.isShow && !combinator.names.contains(name)) return;
           if (combinator.isHide && combinator.names.contains(name)) return;
         }
@@ -94,7 +94,7 @@
     String? prefix,
     SourceLibraryBuilder importer,
     LibraryBuilder? imported,
-    List<Combinator>? combinators,
+    List<CombinatorBuilder>? combinators,
     bool deferred,
     int charOffset,
     int prefixCharOffset,
diff --git a/pkg/front_end/lib/src/fasta/incremental_compiler.dart b/pkg/front_end/lib/src/fasta/incremental_compiler.dart
index d3a46e7..0fe5e02 100644
--- a/pkg/front_end/lib/src/fasta/incremental_compiler.dart
+++ b/pkg/front_end/lib/src/fasta/incremental_compiler.dart
@@ -95,7 +95,7 @@
 
 import 'builder_graph.dart' show BuilderGraph;
 
-import 'combinator.dart' show Combinator;
+import 'combinator.dart' show CombinatorBuilder;
 
 import 'compiler_context.dart' show CompilerContext;
 
@@ -123,7 +123,7 @@
 
 import 'hybrid_file_system.dart' show HybridFileSystem;
 
-import 'kernel/kernel_builder.dart' show ClassHierarchyBuilder;
+import 'kernel/class_hierarchy_builder.dart' show ClassHierarchyBuilder;
 
 import 'kernel/internal_ast.dart' show VariableDeclarationImpl;
 
@@ -2007,16 +2007,16 @@
             in libraryBuilder.library.dependencies) {
           if (!dependency.isImport) continue;
 
-          List<Combinator>? combinators;
+          List<CombinatorBuilder>? combinators;
 
           for (kernel.Combinator combinator in dependency.combinators) {
-            combinators ??= <Combinator>[];
+            combinators ??= <CombinatorBuilder>[];
 
             combinators.add(combinator.isShow
-                ? new Combinator.show(combinator.names, combinator.fileOffset,
-                    libraryBuilder.fileUri)
-                : new Combinator.hide(combinator.names, combinator.fileOffset,
-                    libraryBuilder.fileUri));
+                ? new CombinatorBuilder.show(combinator.names,
+                    combinator.fileOffset, libraryBuilder.fileUri)
+                : new CombinatorBuilder.hide(combinator.names,
+                    combinator.fileOffset, libraryBuilder.fileUri));
           }
 
           debugLibrary.addImport(
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 38d7818..38edea3 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -29,7 +29,8 @@
         unescapeFirstStringPart,
         unescapeLastStringPart,
         unescapeString;
-
+import 'package:_fe_analyzer_shared/src/parser/stack_listener.dart'
+    show FixedNullableList, GrowableList, NullValue, ParserRecovery;
 import 'package:_fe_analyzer_shared/src/parser/value_kind.dart';
 
 import 'package:_fe_analyzer_shared/src/scanner/scanner.dart' show Token;
@@ -39,6 +40,12 @@
 import 'package:_fe_analyzer_shared/src/util/link.dart';
 
 import 'package:kernel/ast.dart';
+import 'package:kernel/class_hierarchy.dart';
+import 'package:kernel/clone.dart';
+import 'package:kernel/core_types.dart';
+import 'package:kernel/src/bounds_checks.dart' hide calculateBounds;
+import 'package:kernel/transformations/flags.dart';
+import 'package:kernel/type_algebra.dart';
 import 'package:kernel/type_environment.dart';
 
 import '../builder/builder.dart';
@@ -101,59 +108,35 @@
 import '../scope.dart';
 
 import '../source/diet_parser.dart';
-
-import '../source/scope_listener.dart'
-    show
-        FixedNullableList,
-        GrowableList,
-        JumpTargetKind,
-        NullValue,
-        ParserRecovery,
-        ScopeListener;
-
+import '../source/scope_listener.dart' show JumpTargetKind, ScopeListener;
 import '../source/source_library_builder.dart' show SourceLibraryBuilder;
-
 import '../source/stack_listener_impl.dart' show offsetForToken;
-
 import '../source/value_kinds.dart';
 
 import '../type_inference/type_inferrer.dart'
     show TypeInferrer, InferredFunctionBody;
-
 import '../type_inference/type_schema.dart' show UnknownType;
 
 import '../util/helpers.dart' show DelayedActionPerformer;
 
 import 'collections.dart';
-
 import 'constness.dart' show Constness;
-
 import 'constructor_tearoff_lowering.dart';
-
 import 'expression_generator.dart';
-
 import 'expression_generator_helper.dart';
-
 import 'forest.dart' show Forest;
-
 import 'implicit_type_argument.dart' show ImplicitTypeArgument;
-
+import 'internal_ast.dart';
+import 'kernel_variable_builder.dart';
+import 'load_library_builder.dart';
 import 'redirecting_factory_body.dart'
     show
         RedirectingFactoryBody,
         RedirectionTarget,
         getRedirectingFactoryBody,
         getRedirectionTarget;
-
 import 'type_algorithms.dart' show calculateBounds;
-
-import 'kernel_api.dart';
-
-import 'kernel_ast_api.dart';
-
-import 'internal_ast.dart';
-
-import 'kernel_builder.dart';
+import 'utils.dart';
 
 // TODO(ahe): Remove this and ensure all nodes have a location.
 const int noLocation = TreeNode.noOffset;
diff --git a/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart b/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart
index 49d92a1..930527d 100644
--- a/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart
@@ -11,6 +11,7 @@
 import 'package:_fe_analyzer_shared/src/scanner/token.dart' show Token;
 
 import 'package:kernel/ast.dart';
+import 'package:kernel/text/ast_to_text.dart';
 import 'package:kernel/type_algebra.dart';
 
 import '../builder/builder.dart';
@@ -67,12 +68,12 @@
 
 import 'forest.dart';
 
-import 'kernel_api.dart' show NameSystem, printNodeOn, printQualifiedNameOn;
-
-import 'kernel_builder.dart' show LoadLibraryBuilder;
-
 import 'internal_ast.dart';
 
+import 'load_library_builder.dart';
+
+import 'utils.dart';
+
 /// A generator represents a subexpression for which we can't yet build an
 /// expression because we don't yet know the context in which it's used.
 ///
diff --git a/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart b/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart
index ecc97bb..c80be43 100644
--- a/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/expression_generator_helper.dart
@@ -5,6 +5,7 @@
 library fasta.expression_generator_helper;
 
 import 'package:_fe_analyzer_shared/src/scanner/token.dart' show Token;
+import 'package:kernel/ast.dart';
 import 'package:kernel/type_algebra.dart';
 import 'package:kernel/type_environment.dart';
 
@@ -24,25 +25,6 @@
 import 'constness.dart' show Constness;
 import 'forest.dart' show Forest;
 import 'internal_ast.dart';
-import 'kernel_ast_api.dart'
-    show
-        Arguments,
-        Constructor,
-        DartType,
-        Expression,
-        FunctionNode,
-        Initializer,
-        InterfaceType,
-        Library,
-        Member,
-        Name,
-        Procedure,
-        StaticGet,
-        TreeNode,
-        TypeParameter,
-        TypeParameterType,
-        Typedef,
-        VariableDeclaration;
 
 /// Alias for Expression | Generator
 typedef Expression_Generator = dynamic;
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_api.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_api.dart
deleted file mode 100644
index 40f86af..0000000
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_api.dart
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (c) 2018, 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.
-
-/// This library exports all API from Kernel that can be used throughout fasta.
-library fasta.kernel_api;
-
-export 'package:kernel/type_algebra.dart' show Substitution, substitute;
-
-export 'package:kernel/class_hierarchy.dart' show ClassHierarchy;
-
-export 'package:kernel/clone.dart' show CloneVisitorNotMembers;
-
-export 'package:kernel/core_types.dart' show CoreTypes;
-
-export 'package:kernel/transformations/flags.dart' show TransformerFlag;
-
-export 'package:kernel/text/ast_to_text.dart' show NameSystem;
-
-export 'package:kernel/type_environment.dart' show TypeEnvironment;
-
-export 'package:kernel/src/bounds_checks.dart' show instantiateToBounds;
-
-import 'package:kernel/text/ast_to_text.dart' show NameSystem, Printer;
-
-import 'package:kernel/ast.dart' show Class, Member, Node;
-
-void printNodeOn(Node? node, StringSink sink, {NameSystem? syntheticNames}) {
-  if (node == null) {
-    sink.write("null");
-  } else {
-    syntheticNames ??= new NameSystem();
-    new Printer(sink, syntheticNames: syntheticNames).writeNode(node);
-  }
-}
-
-void printQualifiedNameOn(Member? member, StringSink sink) {
-  if (member == null) {
-    sink.write("null");
-  } else {
-    sink.write(member.enclosingLibrary.importUri);
-    sink.write("::");
-    Class? cls = member.enclosingClass;
-    if (cls != null) {
-      sink.write(cls.name);
-      sink.write("::");
-    }
-    sink.write(member.name.text);
-  }
-}
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
deleted file mode 100644
index c82741e..0000000
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright (c) 2018, 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.
-
-/// This library exports all API from Kernel's ast.dart that can be used
-/// throughout fasta.
-library fasta.kernel_ast_api;
-
-export 'package:kernel/ast.dart'
-    show
-        Arguments,
-        AsExpression,
-        AssertStatement,
-        AsyncMarker,
-        Block,
-        BreakStatement,
-        Catch,
-        CheckLibraryIsLoaded,
-        Class,
-        Component,
-        Constructor,
-        ConstructorInvocation,
-        ContinueSwitchStatement,
-        DartType,
-        DynamicType,
-        EmptyStatement,
-        Expression,
-        ExpressionStatement,
-        Field,
-        ForInStatement,
-        FunctionDeclaration,
-        FunctionExpression,
-        FunctionNode,
-        FunctionType,
-        Initializer,
-        InterfaceType,
-        InvalidExpression,
-        InvalidType,
-        IsExpression,
-        LabeledStatement,
-        Let,
-        Library,
-        LibraryDependency,
-        LibraryPart,
-        ListLiteral,
-        LocalInitializer,
-        Location,
-        MapLiteralEntry,
-        MapLiteral,
-        Member,
-        Name,
-        NamedExpression,
-        NamedType,
-        Node,
-        NullLiteral,
-        Procedure,
-        ProcedureKind,
-        Rethrow,
-        ReturnStatement,
-        Statement,
-        StaticGet,
-        StaticInvocation,
-        StaticSet,
-        StringConcatenation,
-        SuperInitializer,
-        SuperMethodInvocation,
-        SuperPropertySet,
-        SwitchCase,
-        ThisExpression,
-        TreeNode,
-        TypeParameter,
-        TypeParameterType,
-        Typedef,
-        TypedefType,
-        VariableDeclaration,
-        VariableGet,
-        VariableSet,
-        VoidType,
-        setParents;
-
-export 'internal_ast.dart'
-    show
-        ArgumentsImpl,
-        Cascade,
-        DeferredCheck,
-        FactoryConstructorInvocation,
-        FunctionDeclarationImpl,
-        InvalidSuperInitializerJudgment,
-        LoadLibraryTearOff,
-        NamedFunctionExpressionJudgment,
-        NullAwareMethodInvocation,
-        NullAwarePropertyGet,
-        ReturnStatementImpl,
-        ShadowInvalidFieldInitializer,
-        ShadowInvalidInitializer,
-        ShadowLargeIntLiteral,
-        VariableDeclarationImpl,
-        VariableGetImpl;
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_builder.dart
deleted file mode 100644
index 3b8d62c..0000000
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_builder.dart
+++ /dev/null
@@ -1,53 +0,0 @@
-// 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.kernel_builder;
-
-import 'package:kernel/ast.dart'
-    show
-        Combinator,
-        Constructor,
-        Initializer,
-        Procedure,
-        RedirectingInitializer;
-
-import '../combinator.dart' as fasta;
-
-export 'class_hierarchy_builder.dart'
-    show ClassHierarchyBuilder, ClassMember, DelayedCheck;
-
-export 'implicit_field_type.dart' show ImplicitFieldType;
-
-export 'kernel_variable_builder.dart' show VariableBuilderImpl;
-
-export 'load_library_builder.dart' show LoadLibraryBuilder;
-
-int compareProcedures(Procedure a, Procedure b) {
-  int i = "${a.fileUri}".compareTo("${b.fileUri}");
-  if (i != 0) return i;
-  return a.fileOffset.compareTo(b.fileOffset);
-}
-
-bool isRedirectingGenerativeConstructorImplementation(Constructor constructor) {
-  List<Initializer> initializers = constructor.initializers;
-  return initializers.length == 1 &&
-      initializers.single is RedirectingInitializer;
-}
-
-List<Combinator>? toKernelCombinators(
-    List<fasta.Combinator>? fastaCombinators) {
-  if (fastaCombinators == null) {
-    // Note: it's safe to return null here as Kernel's LibraryDependency will
-    // convert null to an empty list.
-    return null;
-  }
-
-  return new List<Combinator>.generate(fastaCombinators.length, (int i) {
-    fasta.Combinator combinator = fastaCombinators[i];
-    List<String> nameList = combinator.names.toList();
-    return combinator.isShow
-        ? new Combinator.show(nameList)
-        : new Combinator.hide(nameList);
-  }, growable: true);
-}
diff --git a/pkg/front_end/lib/src/fasta/kernel/type_algorithms.dart b/pkg/front_end/lib/src/fasta/kernel/type_algorithms.dart
index 608b28e..a64b323 100644
--- a/pkg/front_end/lib/src/fasta/kernel/type_algorithms.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/type_algorithms.dart
@@ -37,8 +37,6 @@
 
 import '../kernel/utils.dart';
 
-export 'package:kernel/ast.dart' show Variance;
-
 /// Initial value for "variance" that is to be computed by the compiler.
 const int pendingVariance = -1;
 
diff --git a/pkg/front_end/lib/src/fasta/kernel/utils.dart b/pkg/front_end/lib/src/fasta/kernel/utils.dart
index f1f909e..ad50b91 100644
--- a/pkg/front_end/lib/src/fasta/kernel/utils.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/utils.dart
@@ -10,25 +10,10 @@
 import 'package:_fe_analyzer_shared/src/scanner/token.dart'
     show SyntheticToken, TokenType;
 
-import 'package:kernel/clone.dart' show CloneVisitorWithMembers;
-
-import 'package:kernel/ast.dart'
-    show
-        Class,
-        Component,
-        DartType,
-        Library,
-        Procedure,
-        Supertype,
-        TreeNode,
-        TypeParameter,
-        TypeParameterType,
-        dummyDartType,
-        dummyUri;
-
-import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter;
-
-import 'package:kernel/text/ast_to_text.dart' show Printer;
+import 'package:kernel/ast.dart';
+import 'package:kernel/clone.dart';
+import 'package:kernel/binary/ast_to_binary.dart';
+import 'package:kernel/text/ast_to_text.dart';
 
 import '../builder/fixed_type_builder.dart';
 import '../builder/formal_parameter_builder.dart';
@@ -42,6 +27,30 @@
 import '../source/source_library_builder.dart';
 import 'body_builder.dart';
 
+void printNodeOn(Node? node, StringSink sink, {NameSystem? syntheticNames}) {
+  if (node == null) {
+    sink.write("null");
+  } else {
+    syntheticNames ??= new NameSystem();
+    new Printer(sink, syntheticNames: syntheticNames).writeNode(node);
+  }
+}
+
+void printQualifiedNameOn(Member? member, StringSink sink) {
+  if (member == null) {
+    sink.write("null");
+  } else {
+    sink.write(member.enclosingLibrary.importUri);
+    sink.write("::");
+    Class? cls = member.enclosingClass;
+    if (cls != null) {
+      sink.write(cls.name);
+      sink.write("::");
+    }
+    sink.write(member.name.text);
+  }
+}
+
 /// Print the given [component].  Do nothing if it is `null`.  If the
 /// [libraryFilter] is provided, then only libraries that satisfy it are
 /// printed.
@@ -161,9 +170,39 @@
   void close() {}
 }
 
+int compareProcedures(Procedure a, Procedure b) {
+  int i = "${a.fileUri}".compareTo("${b.fileUri}");
+  if (i != 0) return i;
+  return a.fileOffset.compareTo(b.fileOffset);
+}
+
+bool isRedirectingGenerativeConstructorImplementation(Constructor constructor) {
+  List<Initializer> initializers = constructor.initializers;
+  return initializers.length == 1 &&
+      initializers.single is RedirectingInitializer;
+}
+
+List<Combinator>? toKernelCombinators(
+    List<CombinatorBuilder>? fastaCombinators) {
+  if (fastaCombinators == null) {
+    // Note: it's safe to return null here as Kernel's LibraryDependency will
+    // convert null to an empty list.
+    return null;
+  }
+
+  return new List<Combinator>.generate(fastaCombinators.length, (int i) {
+    CombinatorBuilder combinator = fastaCombinators[i];
+    List<String> nameList = combinator.names.toList();
+    return combinator.isShow
+        ? new Combinator.show(nameList)
+        : new Combinator.hide(nameList);
+  }, growable: true);
+}
+
 final Token dummyToken = new SyntheticToken(TokenType.AT, -1);
 final Identifier dummyIdentifier = new Identifier(dummyToken);
-final Combinator dummyCombinator = new Combinator(false, {}, -1, dummyUri);
+final CombinatorBuilder dummyCombinator =
+    new CombinatorBuilder(false, {}, -1, dummyUri);
 final MetadataBuilder dummyMetadataBuilder = new MetadataBuilder(dummyToken);
 final TypeBuilder dummyTypeBuilder =
     new FixedTypeBuilder(dummyDartType, dummyUri, -1);
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 e7f8197..0a838d9 100644
--- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
@@ -41,7 +41,7 @@
 import '../builder/type_variable_builder.dart';
 import '../builder/unresolved_type.dart';
 
-import '../combinator.dart' show Combinator;
+import '../combinator.dart' show CombinatorBuilder;
 
 import '../configuration.dart' show Configuration;
 
@@ -182,7 +182,7 @@
     if (names is ParserRecovery) {
       push(names);
     } else {
-      push(new Combinator.hide(names as Iterable<String>,
+      push(new CombinatorBuilder.hide(names as Iterable<String>,
           hideKeyword.charOffset, libraryBuilder.fileUri));
     }
   }
@@ -194,7 +194,7 @@
     if (names is ParserRecovery) {
       push(names);
     } else {
-      push(new Combinator.show(names as Iterable<String>,
+      push(new CombinatorBuilder.show(names as Iterable<String>,
           showKeyword.charOffset, libraryBuilder.fileUri));
     }
   }
@@ -202,7 +202,7 @@
   @override
   void endCombinators(int count) {
     debugEvent("Combinators");
-    push(const FixedNullableList<Combinator>()
+    push(const FixedNullableList<CombinatorBuilder>()
             .popNonNullable(stack, count, dummyCombinator) ??
         NullValue.Combinators);
   }
@@ -210,7 +210,7 @@
   @override
   void endExport(Token exportKeyword, Token semicolon) {
     debugEvent("Export");
-    List<Combinator>? combinators = pop() as List<Combinator>?;
+    List<CombinatorBuilder>? combinators = pop() as List<CombinatorBuilder>?;
     List<Configuration>? configurations = pop() as List<Configuration>?;
     int uriOffset = popCharOffset();
     String uri = pop() as String;
@@ -235,7 +235,7 @@
   @override
   void endImport(Token importKeyword, Token? semicolon) {
     debugEvent("EndImport");
-    List<Combinator>? combinators = pop() as List<Combinator>?;
+    List<CombinatorBuilder>? combinators = pop() as List<CombinatorBuilder>?;
     bool isDeferred = pop() as bool;
     int prefixOffset = popCharOffset();
     Object? prefix = pop(NullValue.Prefix);
diff --git a/pkg/front_end/lib/src/fasta/source/scope_listener.dart b/pkg/front_end/lib/src/fasta/source/scope_listener.dart
index 21c67fe..221222f 100644
--- a/pkg/front_end/lib/src/fasta/source/scope_listener.dart
+++ b/pkg/front_end/lib/src/fasta/source/scope_listener.dart
@@ -15,9 +15,6 @@
 import 'stack_listener_impl.dart';
 import 'value_kinds.dart';
 
-export 'package:_fe_analyzer_shared/src/parser/stack_listener.dart'
-    show FixedNullableList, GrowableList, NullValue, ParserRecovery;
-
 enum JumpTargetKind {
   Break,
   Continue,
diff --git a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
index cfd33e0..b1ed2fa 100644
--- a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
@@ -37,11 +37,10 @@
 import '../fasta_codes.dart';
 
 import '../kernel/combined_member_signature.dart';
-import '../kernel/kernel_builder.dart' show compareProcedures;
 import '../kernel/kernel_target.dart' show KernelTarget;
 import '../kernel/redirecting_factory_body.dart' show redirectingName;
-import '../kernel/type_algorithms.dart'
-    show Variance, computeTypeVariableBuilderVariance;
+import '../kernel/type_algorithms.dart' show computeTypeVariableBuilderVariance;
+import '../kernel/utils.dart' show compareProcedures;
 
 import '../names.dart' show equalsName, noSuchMethodName;
 
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 515d205..1c83138 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
@@ -67,7 +67,7 @@
 import '../builder/unresolved_type.dart';
 import '../builder/void_type_declaration_builder.dart';
 
-import '../combinator.dart' show Combinator;
+import '../combinator.dart' show CombinatorBuilder;
 
 import '../configuration.dart' show Configuration;
 
@@ -82,16 +82,9 @@
 import '../import.dart' show Import;
 
 import '../kernel/class_hierarchy_builder.dart';
-
+import '../kernel/implicit_field_type.dart';
 import '../kernel/internal_ast.dart';
-
-import '../kernel/kernel_builder.dart'
-    show
-        ImplicitFieldType,
-        LoadLibraryBuilder,
-        compareProcedures,
-        toKernelCombinators;
-
+import '../kernel/load_library_builder.dart';
 import '../kernel/type_algorithms.dart'
     show
         NonSimplicityIssue,
@@ -102,6 +95,7 @@
         getNonSimplicityIssuesForDeclaration,
         getNonSimplicityIssuesForTypeVariables,
         pendingVariance;
+import '../kernel/utils.dart' show compareProcedures, toKernelCombinators;
 
 import '../modifier.dart'
     show
@@ -652,7 +646,7 @@
       List<MetadataBuilder>? metadata,
       String uri,
       List<Configuration>? configurations,
-      List<Combinator>? combinators,
+      List<CombinatorBuilder>? combinators,
       int charOffset,
       int uriOffset) {
     if (configurations != null) {
@@ -697,7 +691,7 @@
       String uri,
       List<Configuration>? configurations,
       String? prefix,
-      List<Combinator>? combinators,
+      List<CombinatorBuilder>? combinators,
       bool deferred,
       int charOffset,
       int prefixCharOffset,
diff --git a/pkg/front_end/lib/src/fasta/source/source_loader.dart b/pkg/front_end/lib/src/fasta/source/source_loader.dart
index fc624e3..5207c06 100644
--- a/pkg/front_end/lib/src/fasta/source/source_loader.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_loader.dart
@@ -94,8 +94,7 @@
 import '../fasta_codes.dart';
 
 import '../kernel/body_builder.dart' show BodyBuilder;
-import '../kernel/kernel_builder.dart'
-    show ClassHierarchyBuilder, ClassMember, DelayedCheck;
+import '../kernel/class_hierarchy_builder.dart';
 import '../kernel/kernel_helper.dart'
     show SynthesizedFunctionNode, TypeDependency;
 import '../kernel/kernel_target.dart' show KernelTarget;
diff --git a/pkg/front_end/lib/src/fasta/type_inference/type_inference_engine.dart b/pkg/front_end/lib/src/fasta/type_inference/type_inference_engine.dart
index 884dfc4..2194bf5 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/type_inference_engine.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/type_inference_engine.dart
@@ -17,9 +17,9 @@
 import '../builder/constructor_builder.dart';
 
 import '../kernel/forest.dart';
+import '../kernel/implicit_field_type.dart';
 import '../kernel/internal_ast.dart';
-import '../kernel/kernel_builder.dart'
-    show ClassHierarchyBuilder, ImplicitFieldType;
+import '../kernel/class_hierarchy_builder.dart' show ClassHierarchyBuilder;
 import '../kernel/kernel_helper.dart';
 
 import '../source/source_library_builder.dart' show SourceLibraryBuilder;
diff --git a/pkg/front_end/lib/src/kernel_generator_impl.dart b/pkg/front_end/lib/src/kernel_generator_impl.dart
index a95566c..aa99dc8 100644
--- a/pkg/front_end/lib/src/kernel_generator_impl.dart
+++ b/pkg/front_end/lib/src/kernel_generator_impl.dart
@@ -7,8 +7,9 @@
 
 import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
 
-import 'package:kernel/kernel.dart'
-    show CanonicalName, Component, NonNullableByDefaultCompiledMode;
+import 'package:kernel/ast.dart';
+import 'package:kernel/class_hierarchy.dart';
+import 'package:kernel/core_types.dart';
 
 import 'base/nnbd_mode.dart';
 
@@ -22,8 +23,6 @@
 
 import 'fasta/fasta_codes.dart' show LocatedMessage;
 
-import 'fasta/kernel/kernel_api.dart';
-
 import 'fasta/kernel/kernel_target.dart' show KernelTarget;
 
 import 'fasta/kernel/utils.dart' show printComponentText, serializeComponent;
diff --git a/pkg/front_end/test/class_hierarchy/class_hierarchy_test.dart b/pkg/front_end/test/class_hierarchy/class_hierarchy_test.dart
index cf9ece3..15e0fa5 100644
--- a/pkg/front_end/test/class_hierarchy/class_hierarchy_test.dart
+++ b/pkg/front_end/test/class_hierarchy/class_hierarchy_test.dart
@@ -6,12 +6,12 @@
 import 'package:_fe_analyzer_shared/src/testing/features.dart';
 import 'package:_fe_analyzer_shared/src/testing/id.dart';
 import 'package:_fe_analyzer_shared/src/testing/id_testing.dart';
-import 'package:front_end/src/fasta/kernel/kernel_api.dart';
 import 'package:front_end/src/testing/id_testing_helper.dart';
 import 'package:front_end/src/testing/id_testing_utils.dart';
 import 'package:front_end/src/fasta/kernel/class_hierarchy_builder.dart';
 import 'package:front_end/src/testing/id_extractor.dart';
 import 'package:kernel/ast.dart';
+import 'package:kernel/core_types.dart';
 
 void main(List<String> args) async {
   Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
diff --git a/pkg/front_end/test/constant_evaluator_benchmark.dart b/pkg/front_end/test/constant_evaluator_benchmark.dart
index 63900b8..1d6eddd 100644
--- a/pkg/front_end/test/constant_evaluator_benchmark.dart
+++ b/pkg/front_end/test/constant_evaluator_benchmark.dart
@@ -25,15 +25,16 @@
     show IncrementalCompiler;
 import 'package:front_end/src/fasta/kernel/constant_evaluator.dart' as constants
     show EvaluationMode, transformLibraries, ErrorReporter;
-import 'package:front_end/src/fasta/kernel/kernel_api.dart';
 
 import 'package:front_end/src/fasta/kernel/kernel_target.dart';
 import 'package:kernel/ast.dart';
 import 'package:kernel/binary/ast_from_binary.dart';
+import 'package:kernel/core_types.dart';
+import 'package:kernel/class_hierarchy.dart';
 import 'package:kernel/target/changed_structure_notifier.dart';
-
 import 'package:kernel/target/targets.dart'
     show ConstantsBackend, DiagnosticReporter, Target, TargetFlags;
+import 'package:kernel/type_environment.dart';
 
 import "package:vm/target/flutter.dart" show FlutterTarget;
 
diff --git a/pkg/front_end/test/fasta/generator_to_string_test.dart b/pkg/front_end/test/fasta/generator_to_string_test.dart
index f59c8c3..2888840 100644
--- a/pkg/front_end/test/fasta/generator_to_string_test.dart
+++ b/pkg/front_end/test/fasta/generator_to_string_test.dart
@@ -46,8 +46,7 @@
 
 import 'package:front_end/src/fasta/dill/dill_target.dart' show DillTarget;
 
-import 'package:front_end/src/fasta/kernel/kernel_builder.dart'
-    show LoadLibraryBuilder;
+import 'package:front_end/src/fasta/kernel/load_library_builder.dart';
 
 import 'package:front_end/src/fasta/kernel/kernel_target.dart'
     show KernelTarget;
diff --git a/pkg/front_end/test/fasta/testing/suite.dart b/pkg/front_end/test/fasta/testing/suite.dart
index 016d8d1..0140af0 100644
--- a/pkg/front_end/test/fasta/testing/suite.dart
+++ b/pkg/front_end/test/fasta/testing/suite.dart
@@ -67,7 +67,7 @@
 import 'package:front_end/src/fasta/kernel/class_hierarchy_builder.dart'
     show ClassHierarchyNode;
 
-import 'package:front_end/src/fasta/kernel/kernel_builder.dart'
+import 'package:front_end/src/fasta/kernel/class_hierarchy_builder.dart'
     show ClassHierarchyBuilder;
 
 import 'package:front_end/src/fasta/kernel/kernel_target.dart'
diff --git a/pkg/front_end/test/fasta/types/dill_hierachy_test.dart b/pkg/front_end/test/fasta/types/dill_hierachy_test.dart
index fb95755..e37a8c3 100644
--- a/pkg/front_end/test/fasta/types/dill_hierachy_test.dart
+++ b/pkg/front_end/test/fasta/types/dill_hierachy_test.dart
@@ -31,7 +31,7 @@
 
 import "package:front_end/src/fasta/dill/dill_target.dart" show DillTarget;
 
-import "package:front_end/src/fasta/kernel/kernel_builder.dart"
+import "package:front_end/src/fasta/kernel/class_hierarchy_builder.dart"
     show ClassHierarchyBuilder;
 
 import "package:front_end/src/fasta/ticker.dart" show Ticker;
diff --git a/pkg/front_end/test/fasta/types/fasta_legacy_upper_bound_test.dart b/pkg/front_end/test/fasta/types/fasta_legacy_upper_bound_test.dart
index 2852925..33af5ac 100644
--- a/pkg/front_end/test/fasta/types/fasta_legacy_upper_bound_test.dart
+++ b/pkg/front_end/test/fasta/types/fasta_legacy_upper_bound_test.dart
@@ -22,7 +22,7 @@
 
 import "package:front_end/src/fasta/dill/dill_target.dart" show DillTarget;
 
-import "package:front_end/src/fasta/kernel/kernel_builder.dart"
+import "package:front_end/src/fasta/kernel/class_hierarchy_builder.dart"
     show ClassHierarchyBuilder;
 
 import "package:front_end/src/fasta/ticker.dart" show Ticker;
diff --git a/pkg/front_end/test/fasta/types/fasta_types_test.dart b/pkg/front_end/test/fasta/types/fasta_types_test.dart
index c5be9a4..83135453 100644
--- a/pkg/front_end/test/fasta/types/fasta_types_test.dart
+++ b/pkg/front_end/test/fasta/types/fasta_types_test.dart
@@ -31,7 +31,7 @@
 
 import "package:front_end/src/fasta/dill/dill_target.dart" show DillTarget;
 
-import "package:front_end/src/fasta/kernel/kernel_builder.dart"
+import "package:front_end/src/fasta/kernel/class_hierarchy_builder.dart"
     show ClassHierarchyBuilder;
 
 import "package:front_end/src/fasta/ticker.dart" show Ticker;
diff --git a/pkg/front_end/test/fasta/types/subtypes_benchmark.dart b/pkg/front_end/test/fasta/types/subtypes_benchmark.dart
index aa23ed4..6ab0236 100644
--- a/pkg/front_end/test/fasta/types/subtypes_benchmark.dart
+++ b/pkg/front_end/test/fasta/types/subtypes_benchmark.dart
@@ -36,7 +36,7 @@
 
 import "package:front_end/src/fasta/dill/dill_target.dart" show DillTarget;
 
-import "package:front_end/src/fasta/kernel/kernel_builder.dart"
+import "package:front_end/src/fasta/kernel/class_hierarchy_builder.dart"
     show ClassHierarchyBuilder;
 
 import "package:front_end/src/fasta/ticker.dart" show Ticker;
diff --git a/pkg/front_end/test/id_tests/inheritance_test.dart b/pkg/front_end/test/id_tests/inheritance_test.dart
index 40a5ae9..f6cdbe5 100644
--- a/pkg/front_end/test/id_tests/inheritance_test.dart
+++ b/pkg/front_end/test/id_tests/inheritance_test.dart
@@ -10,11 +10,13 @@
 import 'package:_fe_analyzer_shared/src/testing/id_testing.dart';
 import 'package:front_end/src/api_prototype/experimental_flags.dart';
 import 'package:front_end/src/fasta/kernel/class_hierarchy_builder.dart';
-import 'package:front_end/src/fasta/kernel/kernel_api.dart';
 import 'package:front_end/src/testing/id_extractor.dart';
 import 'package:front_end/src/testing/id_testing_helper.dart';
 import 'package:front_end/src/testing/id_testing_utils.dart';
 import 'package:kernel/ast.dart';
+import 'package:kernel/class_hierarchy.dart';
+import 'package:kernel/core_types.dart';
+import 'package:kernel/type_algebra.dart';
 
 const String cfeFromBuilderMarker = 'cfe:builder';
 
diff --git a/pkg/front_end/test/lint_test.status b/pkg/front_end/test/lint_test.status
index 83361a2..e7d04be 100644
--- a/pkg/front_end/test/lint_test.status
+++ b/pkg/front_end/test/lint_test.status
@@ -18,21 +18,7 @@
 front_end/lib/src/fasta/fasta_codes/Exports: Fail
 front_end/lib/src/fasta/incremental_compiler/ImportsTwice: Fail
 front_end/lib/src/fasta/kernel/body_builder/ImportsTwice: Fail
-front_end/lib/src/fasta/kernel/constant_evaluator/ExplicitType: Pass
-front_end/lib/src/fasta/kernel/kernel_api/Exports: Fail
-front_end/lib/src/fasta/kernel/kernel_ast_api/Exports: Fail
-front_end/lib/src/fasta/kernel/kernel_builder/Exports: Fail
-front_end/lib/src/fasta/kernel/type_algorithms/Exports: Fail
 front_end/lib/src/fasta/messages/Exports: Fail
-front_end/lib/src/fasta/parser/Exports: Fail
-front_end/lib/src/fasta/parser/parser/ImportsTwice: Fail
-front_end/lib/src/fasta/scanner/abstract_scanner/ImportsTwice: Fail
-front_end/lib/src/fasta/scanner/Exports: Fail
-front_end/lib/src/fasta/scanner/recover/ImportsTwice: Fail
-front_end/lib/src/fasta/scanner/string_scanner/ImportsTwice: Fail
-front_end/lib/src/fasta/scanner/token/ImportsTwice: Fail
-front_end/lib/src/fasta/scanner/utf8_bytes_scanner/ImportsTwice: Fail
-front_end/lib/src/fasta/source/scope_listener/Exports: Fail
 front_end/lib/src/fasta/source/value_kinds/ImportsTwice: Fail
 front_end/lib/src/testing/id_testing_helper/Exports: Fail
 kernel/lib/ast/Exports: Fail
diff --git a/pkg/front_end/tool/ast_model.dart b/pkg/front_end/tool/ast_model.dart
index 00fc28c..7ea5230 100644
--- a/pkg/front_end/tool/ast_model.dart
+++ b/pkg/front_end/tool/ast_model.dart
@@ -5,11 +5,13 @@
 import 'package:front_end/src/api_prototype/front_end.dart';
 import 'package:front_end/src/api_unstable/ddc.dart';
 import 'package:front_end/src/compute_platform_binaries_location.dart';
-import 'package:front_end/src/fasta/kernel/kernel_api.dart';
 import 'package:front_end/src/kernel_generator_impl.dart';
 import 'package:kernel/ast.dart';
+import 'package:kernel/class_hierarchy.dart';
+import 'package:kernel/core_types.dart';
 import 'package:kernel/src/printer.dart';
 import 'package:kernel/target/targets.dart';
+import 'package:kernel/type_algebra.dart';
 import 'package:kernel/type_environment.dart';
 import 'package:vm/target/vm.dart';
 
diff --git a/pkg/front_end/tool/dart_doctest_impl.dart b/pkg/front_end/tool/dart_doctest_impl.dart
index 2c00251..520a92b 100644
--- a/pkg/front_end/tool/dart_doctest_impl.dart
+++ b/pkg/front_end/tool/dart_doctest_impl.dart
@@ -834,16 +834,16 @@
           in libraryBuilder.library.dependencies) {
         if (!dependency.isImport) continue;
 
-        List<Combinator>? combinators;
+        List<CombinatorBuilder>? combinators;
 
         for (kernel.Combinator combinator in dependency.combinators) {
-          combinators ??= <Combinator>[];
+          combinators ??= <CombinatorBuilder>[];
 
           combinators.add(combinator.isShow
-              ? new Combinator.show(combinator.names, combinator.fileOffset,
-                  libraryBuilder.fileUri)
-              : new Combinator.hide(combinator.names, combinator.fileOffset,
-                  libraryBuilder.fileUri));
+              ? new CombinatorBuilder.show(combinator.names,
+                  combinator.fileOffset, libraryBuilder.fileUri)
+              : new CombinatorBuilder.hide(combinator.names,
+                  combinator.fileOffset, libraryBuilder.fileUri));
         }
 
         dartDocTestLibrary.addImport(