aboutsummaryrefslogtreecommitdiff
path: root/java/dagger/hilt/processor/internal/Components.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/dagger/hilt/processor/internal/Components.java')
-rw-r--r--java/dagger/hilt/processor/internal/Components.java20
1 files changed, 17 insertions, 3 deletions
diff --git a/java/dagger/hilt/processor/internal/Components.java b/java/dagger/hilt/processor/internal/Components.java
index 661dd8a9b..9ea7e64e7 100644
--- a/java/dagger/hilt/processor/internal/Components.java
+++ b/java/dagger/hilt/processor/internal/Components.java
@@ -93,16 +93,19 @@ public final class Components {
|| Processors.hasAnnotation(element, ClassNames.TEST_INSTALL_IN));
ImmutableSet<TypeElement> components =
- ImmutableSet.copyOf(
Processors.hasAnnotation(element, ClassNames.INSTALL_IN)
? Processors.getAnnotationClassValues(
elements,
Processors.getAnnotationMirror(element, ClassNames.INSTALL_IN),
- "value")
+ "value").stream()
+ .map(component -> mapComponents(elements, component))
+ .collect(toImmutableSet())
: Processors.getAnnotationClassValues(
elements,
Processors.getAnnotationMirror(element, ClassNames.TEST_INSTALL_IN),
- "components"));
+ "components").stream()
+ .map(component -> mapComponents(elements, component))
+ .collect(toImmutableSet());
ImmutableSet<TypeElement> undefinedComponents =
components.stream()
@@ -118,5 +121,16 @@ public final class Components {
return components.stream().map(ClassName::get).collect(toImmutableSet());
}
+ // Temporary hack while ApplicationComponent is renamed to SingletonComponent
+ private static TypeElement mapComponents(Elements elements, TypeElement element) {
+ if (ClassNames.LEGACY_APPLICATION_COMPONENT.equals(ClassName.get(element))) {
+ TypeElement singletonComponent =
+ elements.getTypeElement(ClassNames.SINGLETON_COMPONENT.canonicalName());
+ Preconditions.checkState(singletonComponent != null);
+ return singletonComponent;
+ }
+ return element;
+ }
+
private Components() {}
}