diff options
author | Brad Corso <bcorso@google.com> | 2021-02-04 18:06:00 -0800 |
---|---|---|
committer | Dagger Team <dagger-dev+copybara@google.com> | 2021-02-04 18:11:00 -0800 |
commit | 477ddd6ae48ae9c99fea0248065c006a7a444301 (patch) | |
tree | a0f7e9ba86b9f92e2563d1f0401aa8aba2b40b32 /java/dagger/hilt/processor | |
parent | de8ff2b1deceb973e6cccdfe2aa85a9f580c61d9 (diff) | |
download | dagger2-477ddd6ae48ae9c99fea0248065c006a7a444301.tar.gz |
Internal refactor
RELNOTES=N/A
PiperOrigin-RevId: 355752966
Diffstat (limited to 'java/dagger/hilt/processor')
-rw-r--r-- | java/dagger/hilt/processor/internal/root/TestComponentDataGenerator.java | 34 | ||||
-rw-r--r-- | java/dagger/hilt/processor/internal/root/TestInjectorGenerator.java | 11 |
2 files changed, 23 insertions, 22 deletions
diff --git a/java/dagger/hilt/processor/internal/root/TestComponentDataGenerator.java b/java/dagger/hilt/processor/internal/root/TestComponentDataGenerator.java index c9e8cfb5b..284f8cdee 100644 --- a/java/dagger/hilt/processor/internal/root/TestComponentDataGenerator.java +++ b/java/dagger/hilt/processor/internal/root/TestComponentDataGenerator.java @@ -30,7 +30,6 @@ import com.squareup.javapoet.ClassName; import com.squareup.javapoet.CodeBlock; import com.squareup.javapoet.JavaFile; import com.squareup.javapoet.MethodSpec; -import com.squareup.javapoet.ParameterizedTypeName; import com.squareup.javapoet.TypeSpec; import dagger.hilt.processor.internal.ClassNames; import dagger.hilt.processor.internal.ComponentNames; @@ -196,23 +195,22 @@ public final class TestComponentDataGenerator { private MethodSpec getTestInjectInternalMethod() { TypeElement testElement = rootMetadata.testRootMetadata().testElement(); ClassName testName = ClassName.get(testElement); - MethodSpec.Builder builder = - MethodSpec.methodBuilder("injectInternal") - .addModifiers(PRIVATE, STATIC) - .addParameter(testName, "testInstance") - .addAnnotation( - AnnotationSpec.builder(SuppressWarnings.class) - .addMember("value", "$S", "unchecked") - .build()); - - return builder - .addStatement( - "(($T) (($T) $T.getApplicationContext()).generatedComponent())" - + ".injectTest(testInstance)", - ParameterizedTypeName.get( - ClassNames.TEST_INJECTOR, rootMetadata.testRootMetadata().testName()), - ClassNames.GENERATED_COMPONENT_MANAGER, - ClassNames.APPLICATION_PROVIDER) + return MethodSpec.methodBuilder("injectInternal") + .addModifiers(PRIVATE, STATIC) + .addParameter(testName, "testInstance") + .addAnnotation( + AnnotationSpec.builder(SuppressWarnings.class) + .addMember("value", "$S", "unchecked") + .build()) + .addStatement("$L.injectTest(testInstance)", getInjector(testElement)) .build(); } + + private static CodeBlock getInjector(TypeElement testElement) { + return CodeBlock.of( + "(($T) (($T) $T.getApplicationContext()).generatedComponent())", + ClassNames.TEST_INJECTOR, + ClassNames.GENERATED_COMPONENT_MANAGER, + ClassNames.APPLICATION_PROVIDER); + } } diff --git a/java/dagger/hilt/processor/internal/root/TestInjectorGenerator.java b/java/dagger/hilt/processor/internal/root/TestInjectorGenerator.java index 90c190543..fc97feda6 100644 --- a/java/dagger/hilt/processor/internal/root/TestInjectorGenerator.java +++ b/java/dagger/hilt/processor/internal/root/TestInjectorGenerator.java @@ -17,6 +17,7 @@ package dagger.hilt.processor.internal.root; import com.squareup.javapoet.AnnotationSpec; +import com.squareup.javapoet.ClassName; import com.squareup.javapoet.JavaFile; import com.squareup.javapoet.MethodSpec; import com.squareup.javapoet.ParameterizedTypeName; @@ -26,6 +27,7 @@ import dagger.hilt.processor.internal.Processors; import java.io.IOException; import javax.annotation.processing.ProcessingEnvironment; import javax.lang.model.element.Modifier; +import javax.lang.model.element.TypeElement; /** Generates an entry point for a test. */ public final class TestInjectorGenerator { @@ -48,10 +50,7 @@ public final class TestInjectorGenerator { .addAnnotation(ClassNames.GENERATED_ENTRY_POINT) .addAnnotation( AnnotationSpec.builder(ClassNames.INSTALL_IN) - .addMember( - "value", - "$T.class", - ClassNames.SINGLETON_COMPONENT) + .addMember("value", "$T.class", installInComponent(metadata.testElement())) .build()) .addModifiers(Modifier.PUBLIC) .addSuperinterface( @@ -71,4 +70,8 @@ public final class TestInjectorGenerator { .build() .writeTo(env.getFiler()); } + + private static ClassName installInComponent(TypeElement testElement) { + return ClassNames.SINGLETON_COMPONENT; + } } |