summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Falcone <asfalcone@google.com>2019-07-10 11:37:43 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-07-10 11:37:43 -0700
commitda9b22e21897e9f3b3f79d3a96f3fb187aba696e (patch)
tree7d97d74026f809bc4ff31ec35b4450ff35dc27d6
parent11bbeab8b6f6d55016125ee83b5ab5f8da59161c (diff)
parent6dd6c2cd296e04782687ffbc4cf82324a5694a8f (diff)
downloaddoclava-da9b22e21897e9f3b3f79d3a96f3fb187aba696e.tar.gz
Merge "Ignore tags in comments that are actually Java annotations" am: af4aca7863 am: bf96a2b37f
am: 6dd6c2cd29 Change-Id: I694745fc76fc502442abea10e04f2f09c091be2d
-rw-r--r--src/com/google/doclava/Comment.java12
-rw-r--r--src/com/google/doclava/Errors.java1
2 files changed, 11 insertions, 2 deletions
diff --git a/src/com/google/doclava/Comment.java b/src/com/google/doclava/Comment.java
index e11e329..29154c2 100644
--- a/src/com/google/doclava/Comment.java
+++ b/src/com/google/doclava/Comment.java
@@ -392,8 +392,16 @@ public class Comment {
known = Doclava.knownTags.contains(name);
}
if (!known) {
- Errors.error(Errors.UNKNOWN_TAG, pos == null ? null : new SourcePositionInfo(pos),
- "Unknown tag: " + name);
+ if (name.length() >= 2 && Character.isUpperCase(name.charAt(1))) {
+ // This is a workaround for b/135928616 where parsing of comments fails when there is
+ // a Java annotation and not a tag.
+ Errors.error(Errors.JAVA_TAG_IN_COMMENT,
+ pos == null ? null : new SourcePositionInfo(pos),
+ "Invalid tag: " + name);
+ } else {
+ Errors.error(Errors.UNKNOWN_TAG, pos == null ? null : new SourcePositionInfo(pos),
+ "Unknown tag: " + name);
+ }
}
TagInfo t = new TextTagInfo(name, name, text, pos);
if (isInline) {
diff --git a/src/com/google/doclava/Errors.java b/src/com/google/doclava/Errors.java
index 6b0eee0..a7a3bdf 100644
--- a/src/com/google/doclava/Errors.java
+++ b/src/com/google/doclava/Errors.java
@@ -314,6 +314,7 @@ public class Errors {
public static final Error TODO = new Error(128, LINT);
public static final Error NO_ARTIFACT_DATA = new Error(129, HIDDEN);
public static final Error BROKEN_ARTIFACT_FILE = new Error(130, ERROR);
+ public static final Error JAVA_TAG_IN_COMMENT = new Error(131, LINT);
public static boolean setErrorLevel(int code, int level) {
for (Error e : sErrors) {