aboutsummaryrefslogtreecommitdiff
path: root/java/dagger/internal/codegen/writing/AnnotationCreatorGenerator.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/dagger/internal/codegen/writing/AnnotationCreatorGenerator.java')
-rw-r--r--java/dagger/internal/codegen/writing/AnnotationCreatorGenerator.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/java/dagger/internal/codegen/writing/AnnotationCreatorGenerator.java b/java/dagger/internal/codegen/writing/AnnotationCreatorGenerator.java
index fa3a16cac..96e6340af 100644
--- a/java/dagger/internal/codegen/writing/AnnotationCreatorGenerator.java
+++ b/java/dagger/internal/codegen/writing/AnnotationCreatorGenerator.java
@@ -39,6 +39,7 @@ import com.squareup.javapoet.TypeSpec;
import dagger.internal.codegen.base.SourceFileGenerator;
import dagger.internal.codegen.langmodel.DaggerElements;
import java.util.LinkedHashSet;
+import java.util.Optional;
import java.util.Set;
import javax.annotation.processing.Filer;
import javax.inject.Inject;
@@ -87,13 +88,18 @@ public class AnnotationCreatorGenerator extends SourceFileGenerator<TypeElement>
}
@Override
+ public ClassName nameGeneratedType(TypeElement annotationType) {
+ return getAnnotationCreatorClassName(annotationType);
+ }
+
+ @Override
public Element originatingElement(TypeElement annotationType) {
return annotationType;
}
@Override
- public ImmutableList<TypeSpec.Builder> topLevelTypes(TypeElement annotationType) {
- ClassName generatedTypeName = getAnnotationCreatorClassName(annotationType);
+ public Optional<TypeSpec.Builder> write(TypeElement annotationType) {
+ ClassName generatedTypeName = nameGeneratedType(annotationType);
TypeSpec.Builder annotationCreatorBuilder =
classBuilder(generatedTypeName)
.addModifiers(PUBLIC, FINAL)
@@ -103,7 +109,7 @@ public class AnnotationCreatorGenerator extends SourceFileGenerator<TypeElement>
annotationCreatorBuilder.addMethod(buildCreateMethod(generatedTypeName, annotationElement));
}
- return ImmutableList.of(annotationCreatorBuilder);
+ return Optional.of(annotationCreatorBuilder);
}
private MethodSpec buildCreateMethod(ClassName generatedTypeName, TypeElement annotationElement) {