diff options
author | dpb <dpb@google.com> | 2017-09-29 08:43:39 -0700 |
---|---|---|
committer | Ron Shapiro <ronshapiro@google.com> | 2017-10-02 17:46:14 -0400 |
commit | 8201d9408c93419a9d777a8e4a586e5b66e2429e (patch) | |
tree | e79cf665c9fc2022fc4032510e62a7a94570701c /value/src/main/java/com/google/auto/value/processor/AutoAnnotationProcessor.java | |
parent | 5fe00a6e0bd605c57e5a127f0b0378dd33b673b8 (diff) | |
download | auto-8201d9408c93419a9d777a8e4a586e5b66e2429e.tar.gz |
Make AutoValue processors generate valid code if @Generated is not available.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=170487026
Diffstat (limited to 'value/src/main/java/com/google/auto/value/processor/AutoAnnotationProcessor.java')
-rw-r--r-- | value/src/main/java/com/google/auto/value/processor/AutoAnnotationProcessor.java | 11 |
1 files changed, 10 insertions, 1 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 4990a605..4a7780db 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 @@ -171,7 +171,7 @@ public class AutoAnnotationProcessor extends AbstractProcessor { vars.annotationName = typeSimplifier.simplify(annotationElement.asType()); vars.className = generatedClassName; vars.imports = typeSimplifier.typesToImport(); - vars.generated = typeSimplifier.simplify(getTypeMirror(Generated.class)); + vars.generated = getGeneratedTypeName(typeSimplifier); vars.arrays = typeSimplifier.simplify(getTypeMirror(Arrays.class)); vars.members = members; vars.params = parameters; @@ -190,6 +190,15 @@ public class AutoAnnotationProcessor extends AbstractProcessor { writeSourceFile(fullName, text, methodClass); } + private String getGeneratedTypeName(TypeSimplifier typeSimplifier) { + TypeElement generatedTypeElement = + processingEnv.getElementUtils().getTypeElement("javax.annotation.Generated"); + if (generatedTypeElement == null) { + return ""; + } + return typeSimplifier.simplify(generatedTypeElement.asType()); + } + /** * Returns the hashCode of the given AnnotationValue, if that hashCode is guaranteed to be always * the same. The hashCode of a String or primitive type never changes. The hashCode of a Class |