diff options
Diffstat (limited to 'java/dagger/hilt/processor/internal/aliasof')
3 files changed, 18 insertions, 21 deletions
diff --git a/java/dagger/hilt/processor/internal/aliasof/AliasOfProcessor.java b/java/dagger/hilt/processor/internal/aliasof/AliasOfProcessor.java index 6efd6431e..02e7f5d56 100644 --- a/java/dagger/hilt/processor/internal/aliasof/AliasOfProcessor.java +++ b/java/dagger/hilt/processor/internal/aliasof/AliasOfProcessor.java @@ -16,6 +16,7 @@ package dagger.hilt.processor.internal.aliasof; +import static com.google.auto.common.MoreElements.asType; import static net.ltgt.gradle.incap.IncrementalAnnotationProcessorType.ISOLATING; import com.google.auto.service.AutoService; @@ -48,13 +49,14 @@ public final class AliasOfProcessor extends BaseProcessor { "%s should only be used on scopes." + " However, it was found annotating %s", annotation, element); + AnnotationMirror annotationMirror = Processors.getAnnotationMirror(element, ClassNames.ALIAS_OF); - Element defineComponentScope = + TypeElement defineComponentScope = Processors.getAnnotationClassValue(getElementUtils(), annotationMirror, "value"); - new AliasOfPropagatedDataGenerator(getProcessingEnv(), element, defineComponentScope) + new AliasOfPropagatedDataGenerator(getProcessingEnv(), asType(element), defineComponentScope) .generate(); } } diff --git a/java/dagger/hilt/processor/internal/aliasof/AliasOfPropagatedDataGenerator.java b/java/dagger/hilt/processor/internal/aliasof/AliasOfPropagatedDataGenerator.java index 2ccb5cfbd..1d7edf285 100644 --- a/java/dagger/hilt/processor/internal/aliasof/AliasOfPropagatedDataGenerator.java +++ b/java/dagger/hilt/processor/internal/aliasof/AliasOfPropagatedDataGenerator.java @@ -17,43 +17,37 @@ package dagger.hilt.processor.internal.aliasof; import com.squareup.javapoet.AnnotationSpec; -import com.squareup.javapoet.JavaFile; -import com.squareup.javapoet.TypeSpec; import dagger.hilt.processor.internal.ClassNames; import dagger.hilt.processor.internal.Processors; import java.io.IOException; import javax.annotation.processing.ProcessingEnvironment; -import javax.lang.model.element.Element; +import javax.lang.model.element.TypeElement; /** Generates resource files for {@link dagger.hilt.migration.AliasOf}. */ final class AliasOfPropagatedDataGenerator { private final ProcessingEnvironment processingEnv; - private final Element aliasScope; - private final Element defineComponentScope; + private final TypeElement aliasScope; + private final TypeElement defineComponentScope; AliasOfPropagatedDataGenerator( - ProcessingEnvironment processingEnv, Element aliasScope, Element defineComponentScope) { + ProcessingEnvironment processingEnv, + TypeElement aliasScope, + TypeElement defineComponentScope) { this.processingEnv = processingEnv; this.aliasScope = aliasScope; this.defineComponentScope = defineComponentScope; } void generate() throws IOException { - TypeSpec.Builder generator = - TypeSpec.classBuilder(Processors.getFullEnclosedName(aliasScope)) - .addOriginatingElement(aliasScope) - .addAnnotation( - AnnotationSpec.builder(ClassNames.ALIAS_OF_PROPAGATED_DATA) + Processors.generateAggregatingClass( + ClassNames.ALIAS_OF_PROPAGATED_DATA_PACKAGE, + AnnotationSpec.builder(ClassNames.ALIAS_OF_PROPAGATED_DATA) .addMember("defineComponentScope", "$T.class", defineComponentScope) .addMember("alias", "$T.class", aliasScope) - .build()) - .addJavadoc("Generated class for aggregating scope aliases. \n"); - - Processors.addGeneratedAnnotation(generator, processingEnv, getClass()); - - JavaFile.builder(ClassNames.ALIAS_OF_PROPAGATED_DATA_PACKAGE, generator.build()) - .build() - .writeTo(processingEnv.getFiler()); + .build(), + aliasScope, + getClass(), + processingEnv); } } diff --git a/java/dagger/hilt/processor/internal/aliasof/BUILD b/java/dagger/hilt/processor/internal/aliasof/BUILD index 9a29a8ed8..3438ad54e 100644 --- a/java/dagger/hilt/processor/internal/aliasof/BUILD +++ b/java/dagger/hilt/processor/internal/aliasof/BUILD @@ -39,6 +39,7 @@ java_library( "@google_bazel_common//third_party/java/auto:service", "@google_bazel_common//third_party/java/incap", "@google_bazel_common//third_party/java/javapoet", + "@maven//:com_google_auto_auto_common", ], ) |