Remove cache of top level component implementations

RELNOTES=n/a
PiperOrigin-RevId: 359534222
diff --git a/java/dagger/internal/codegen/componentgenerator/ComponentGeneratorModule.java b/java/dagger/internal/codegen/componentgenerator/ComponentGeneratorModule.java
index 84179d6..179c411 100644
--- a/java/dagger/internal/codegen/componentgenerator/ComponentGeneratorModule.java
+++ b/java/dagger/internal/codegen/componentgenerator/ComponentGeneratorModule.java
@@ -18,11 +18,9 @@
 
 import dagger.Binds;
 import dagger.Module;
-import dagger.internal.codegen.base.ClearableCache;
 import dagger.internal.codegen.base.SourceFileGenerator;
 import dagger.internal.codegen.binding.BindingGraph;
 import dagger.internal.codegen.binding.ComponentDescriptor;
-import dagger.multibindings.IntoSet;
 
 /** Provides bindings needed to generated the component. */
 @Module(subcomponents = TopLevelImplementationComponent.class)
@@ -41,8 +39,4 @@
   @Binds
   abstract SourceFileGenerator<ComponentDescriptor> componentHjarGenerator(
       ComponentHjarGenerator hjarGenerator);
-
-  @Binds
-  @IntoSet
-  ClearableCache componentImplementationFactory(ComponentImplementationFactory cache);
 }
diff --git a/java/dagger/internal/codegen/componentgenerator/ComponentImplementationFactory.java b/java/dagger/internal/codegen/componentgenerator/ComponentImplementationFactory.java
index fdfcc9d..0d29b86 100644
--- a/java/dagger/internal/codegen/componentgenerator/ComponentImplementationFactory.java
+++ b/java/dagger/internal/codegen/componentgenerator/ComponentImplementationFactory.java
@@ -16,26 +16,20 @@
 
 package dagger.internal.codegen.componentgenerator;
 
-import static dagger.internal.codegen.base.Util.reentrantComputeIfAbsent;
 import static dagger.internal.codegen.componentgenerator.ComponentGenerator.componentName;
 
-import dagger.internal.codegen.base.ClearableCache;
 import dagger.internal.codegen.binding.BindingGraph;
 import dagger.internal.codegen.binding.KeyFactory;
 import dagger.internal.codegen.compileroption.CompilerOptions;
 import dagger.internal.codegen.writing.ComponentImplementation;
 import dagger.internal.codegen.writing.SubcomponentNames;
-import java.util.HashMap;
-import java.util.Map;
 import java.util.Optional;
 import javax.inject.Inject;
 import javax.inject.Singleton;
-import javax.lang.model.element.TypeElement;
 
 /** Factory for {@link ComponentImplementation}s. */
 @Singleton
-final class ComponentImplementationFactory implements ClearableCache {
-  private final Map<TypeElement, ComponentImplementation> topLevelComponentCache = new HashMap<>();
+final class ComponentImplementationFactory {
   private final KeyFactory keyFactory;
   private final CompilerOptions compilerOptions;
   private final TopLevelImplementationComponent.Builder topLevelImplementationComponentBuilder;
@@ -54,13 +48,6 @@
    * Returns a top-level (non-nested) component implementation for a binding graph.
    */
   ComponentImplementation createComponentImplementation(BindingGraph bindingGraph) {
-    return reentrantComputeIfAbsent(
-        topLevelComponentCache,
-        bindingGraph.componentTypeElement(),
-        component -> createComponentImplementationUncached(bindingGraph));
-  }
-
-  private ComponentImplementation createComponentImplementationUncached(BindingGraph bindingGraph) {
     ComponentImplementation componentImplementation =
         ComponentImplementation.topLevelComponentImplementation(
             bindingGraph,
@@ -82,9 +69,4 @@
         .componentImplementationBuilder()
         .build();
   }
-
-  @Override
-  public void clearCache() {
-    topLevelComponentCache.clear();
-  }
 }