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();
- }
}