From 9afc84e1c716ad60088b1a4ae67f0104f58911fa Mon Sep 17 00:00:00 2001 From: Brad Corso Date: Tue, 18 Aug 2026 20:46:14 -0700 Subject: [PATCH] Replace factoryMethodParameters Map with factoryMethodRequirements Set. The values of factoryMethodParameters Map are never used in the codebase, so I've replaced the Map with an ImmutableSet and updated the references in the codebase. RELNOTES=N/A PiperOrigin-RevId: 966959257 --- .../internal/codegen/binding/BindingGraph.java | 15 +++++---------- .../codegen/writing/ComponentImplementation.java | 2 +- .../writing/ComponentRequirementExpressions.java | 2 +- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/dagger-compiler/main/java/dagger/internal/codegen/binding/BindingGraph.java b/dagger-compiler/main/java/dagger/internal/codegen/binding/BindingGraph.java index db50fa63bca..533b6559bf7 100644 --- a/dagger-compiler/main/java/dagger/internal/codegen/binding/BindingGraph.java +++ b/dagger-compiler/main/java/dagger/internal/codegen/binding/BindingGraph.java @@ -27,7 +27,6 @@ import static dagger.internal.codegen.extension.DaggerStreams.toImmutableSet; import androidx.room3.compiler.processing.XExecutableElement; -import androidx.room3.compiler.processing.XExecutableParameterElement; import androidx.room3.compiler.processing.XMethodElement; import androidx.room3.compiler.processing.XTypeElement; import com.google.auto.value.AutoValue; @@ -405,18 +404,14 @@ public final Optional factoryMethod() { } /** - * Returns a map between the {@linkplain ComponentRequirement component requirement} and the - * corresponding {@link XExecutableParameterElement} for each module parameter in the {@linkplain + * Returns the {@link ComponentRequirement}s for each module parameter in the {@linkplain * BindingGraph#factoryMethod factory method}. */ // TODO(dpb): Consider disallowing modules if none of their bindings are used. - public final ImmutableMap - factoryMethodParameters() { + public final ImmutableSet factoryMethodRequirements() { return factoryMethod().get().getParameters().stream() - .collect( - toImmutableMap( - parameter -> ComponentRequirement.forModule(parameter.getType()), - parameter -> parameter)); + .map(parameter -> ComponentRequirement.forModule(parameter.getType())) + .collect(toImmutableSet()); } /** @@ -443,7 +438,7 @@ public ImmutableSet componentRequirements() { || requiredModules.contains(requirement.typeElement())) .forEach(requirements::add); if (factoryMethod().isPresent()) { - requirements.addAll(factoryMethodParameters().keySet()); + requirements.addAll(factoryMethodRequirements()); } return requirements.build(); } diff --git a/dagger-compiler/main/java/dagger/internal/codegen/writing/ComponentImplementation.java b/dagger-compiler/main/java/dagger/internal/codegen/writing/ComponentImplementation.java index 876b869fcb2..61744934198 100644 --- a/dagger-compiler/main/java/dagger/internal/codegen/writing/ComponentImplementation.java +++ b/dagger-compiler/main/java/dagger/internal/codegen/writing/ComponentImplementation.java @@ -1149,7 +1149,7 @@ private static ImmutableList constructorRequirements(Bindi if (graph.componentDescriptor().hasCreator()) { return graph.componentRequirements().asList(); } else if (graph.factoryMethod().isPresent()) { - return graph.factoryMethodParameters().keySet().asList(); + return graph.factoryMethodRequirements().asList(); } else { throw new AssertionError( "Expected either a component creator or factory method but found neither."); diff --git a/dagger-compiler/main/java/dagger/internal/codegen/writing/ComponentRequirementExpressions.java b/dagger-compiler/main/java/dagger/internal/codegen/writing/ComponentRequirementExpressions.java index 8002846e123..16fe2b11aa5 100644 --- a/dagger-compiler/main/java/dagger/internal/codegen/writing/ComponentRequirementExpressions.java +++ b/dagger-compiler/main/java/dagger/internal/codegen/writing/ComponentRequirementExpressions.java @@ -110,7 +110,7 @@ XCodeBlock getExpressionDuringInitialization( private ComponentRequirementExpression createExpression(ComponentRequirement requirement) { if (componentShard.componentDescriptor().hasCreator() || (graph.factoryMethod().isPresent() - && graph.factoryMethodParameters().containsKey(requirement))) { + && graph.factoryMethodRequirements().contains(requirement))) { return new ComponentParameterField(requirement); } else if (requirement.kind().isModule()) { return new InstantiableModuleField(requirement);