From 2b720d044de32427a0d91a3af73e58338db29cb5 Mon Sep 17 00:00:00 2001 From: David Ostrovsky Date: Fri, 8 Dec 2017 19:20:47 +0100 Subject: [PATCH] Prefer javax.annotation.processing.Generated on Java 9 Closes #560. --- .../value/processor/AutoAnnotationProcessor.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/value/src/main/java/com/google/auto/value/processor/AutoAnnotationProcessor.java b/value/src/main/java/com/google/auto/value/processor/AutoAnnotationProcessor.java index 4a7780db91..9f02a17701 100644 --- a/value/src/main/java/com/google/auto/value/processor/AutoAnnotationProcessor.java +++ b/value/src/main/java/com/google/auto/value/processor/AutoAnnotationProcessor.java @@ -17,6 +17,7 @@ import static java.util.stream.Collectors.toCollection; +import com.google.auto.common.GeneratedAnnotations; import com.google.auto.common.MoreElements; import com.google.auto.common.SuperficialValidation; import com.google.auto.service.AutoService; @@ -35,7 +36,6 @@ import java.util.Map; import java.util.Optional; import java.util.Set; -import javax.annotation.Generated; import javax.annotation.processing.AbstractProcessor; import javax.annotation.processing.ProcessingEnvironment; import javax.annotation.processing.Processor; @@ -191,12 +191,12 @@ private void processMethod(ExecutableElement method) { } private String getGeneratedTypeName(TypeSimplifier typeSimplifier) { - TypeElement generatedTypeElement = - processingEnv.getElementUtils().getTypeElement("javax.annotation.Generated"); - if (generatedTypeElement == null) { + Optional generatedTypeElement = + GeneratedAnnotations.generatedAnnotation(processingEnv.getElementUtils()); + if (!generatedTypeElement.isPresent()) { return ""; } - return typeSimplifier.simplify(generatedTypeElement.asType()); + return typeSimplifier.simplify(generatedTypeElement.get().asType()); } /** @@ -447,7 +447,8 @@ private Set getReferencedTypes( Set> wrapperTypesUsedInCollections) { Set types = new TypeMirrorSet(); types.add(annotation); - types.add(getTypeMirror(Generated.class)); + types.add( + GeneratedAnnotations.generatedAnnotation(processingEnv.getElementUtils()).get().asType()); for (VariableElement parameter : method.getParameters()) { // Method parameter types are usually the same as annotation member types, but in the case of // List for int[] we are referencing List.