summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Main <smain@google.com>2013-08-07 13:53:14 -0700
committerScott Main <smain@google.com>2013-08-13 16:49:31 -0700
commit189048062a7df2d2fba4ff075c6416bfbf05a094 (patch)
treea5553343a394e6228afccfc5213768ac19584cea
parent7791802d9b43c2067b566bf81667096ed91decb8 (diff)
downloadplatform_external_doclava-189048062a7df2d2fba4ff075c6416bfbf05a094.tar.gz
platform_external_doclava-189048062a7df2d2fba4ff075c6416bfbf05a094.tar.bz2
platform_external_doclava-189048062a7df2d2fba4ff075c6416bfbf05a094.zip
fix doclava to tag enums with 'since' info
In order for the output to behave properly, this CL depends on the following change that adds the enum values to the public API list for all API levels lower than 14. I1f88e8f9f3e2655d17eea628611318e207cbb535 bug: 10220616 Change-Id: I424e71d8a8b69c1c348e10b60b60f77aa0b2468d
-rw-r--r--src/com/google/doclava/ClassInfo.java10
-rw-r--r--src/com/google/doclava/SinceTagger.java3
2 files changed, 12 insertions, 1 deletions
diff --git a/src/com/google/doclava/ClassInfo.java b/src/com/google/doclava/ClassInfo.java
index d3ed434..426ae20 100644
--- a/src/com/google/doclava/ClassInfo.java
+++ b/src/com/google/doclava/ClassInfo.java
@@ -467,6 +467,12 @@ public class ClassInfo extends DocInfo implements ContainerInfo, Comparable, Sco
}
}
+ for (FieldInfo enumConst : mEnumConstants) {
+ if (!enumConst.isHidden()) {
+ all.put(enumConst.name(), enumConst);
+ }
+ }
+
mFields = new ArrayList<FieldInfo>(all.values());
}
return mFields;
@@ -1544,6 +1550,10 @@ public class ClassInfo extends DocInfo implements ContainerInfo, Comparable, Sco
return mApiCheckFields;
}
+ public Map<String, FieldInfo> allEnums() {
+ return mApiCheckEnumConstants;
+ }
+
/**
* Returns all methods defined directly in this class. For a list of all
* methods supported by this class, see {@link #methods()}.
diff --git a/src/com/google/doclava/SinceTagger.java b/src/com/google/doclava/SinceTagger.java
index 4cf8911..a2797c1 100644
--- a/src/com/google/doclava/SinceTagger.java
+++ b/src/com/google/doclava/SinceTagger.java
@@ -178,7 +178,8 @@ public class SinceTagger {
*/
private void versionFields(String versionName, ClassInfo spec, ClassInfo doc) {
for (FieldInfo field : doc.fields()) {
- if (field.getSince() == null && spec.allFields().containsKey(field.name())) {
+ if (field.getSince() == null && (spec.allFields().containsKey(field.name()) ||
+ spec.allEnums().containsKey(field.name()))) {
field.setSince(versionName);
}