aboutsummaryrefslogtreecommitdiff
path: root/value/src/main/java/com/google/auto/value/processor/AutoAnnotationProcessor.java
diff options
context:
space:
mode:
authordpb <dpb@google.com>2017-09-29 08:43:39 -0700
committerRon Shapiro <ronshapiro@google.com>2017-10-02 17:46:14 -0400
commit8201d9408c93419a9d777a8e4a586e5b66e2429e (patch)
treee79cf665c9fc2022fc4032510e62a7a94570701c /value/src/main/java/com/google/auto/value/processor/AutoAnnotationProcessor.java
parent5fe00a6e0bd605c57e5a127f0b0378dd33b673b8 (diff)
downloadauto-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.java11
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