auto import from //branches/cupcake/...@130745
diff --git a/tools/droiddoc/src/DroidDoc.java b/tools/droiddoc/src/DroidDoc.java
index 23ff654..f664c41 100644
--- a/tools/droiddoc/src/DroidDoc.java
+++ b/tools/droiddoc/src/DroidDoc.java
@@ -461,10 +461,13 @@
continue;
}
Boolean allHidden = true;
- int pass = 1;
- ClassInfo[] classesToCheck = pkg.ordinaryClasses();
+ int pass = 0;
+ ClassInfo[] classesToCheck = null;
while (pass < 5 ) {
switch(pass) {
+ case 0:
+ classesToCheck = pkg.ordinaryClasses();
+ break;
case 1:
classesToCheck = pkg.enums();
break;
diff --git a/tools/droiddoc/src/Errors.java b/tools/droiddoc/src/Errors.java
index 1431314..dfeac88 100644
--- a/tools/droiddoc/src/Errors.java
+++ b/tools/droiddoc/src/Errors.java
@@ -25,10 +25,12 @@
private static class Message implements Comparable {
SourcePositionInfo pos;
+ int level;
String msg;
- Message(SourcePositionInfo p, String m) {
+ Message(SourcePositionInfo p, int l, String m) {
pos = p;
+ level = l;
msg = m;
}
@@ -50,14 +52,15 @@
return;
}
- String which = (!warningsAreErrors && error.level == WARNING) ? " warning " : " error ";
+ int level = (!warningsAreErrors && error.level == WARNING) ? WARNING : ERROR;
+ String which = level == WARNING ? " warning " : " error ";
String message = which + error.code + ": " + text;
if (where == null) {
where = new SourcePositionInfo("unknown", 0, 0);
}
- allErrors.add(new Message(where, message));
+ allErrors.add(new Message(where, level, message));
if (error.level == ERROR || (warningsAreErrors && error.level == WARNING)) {
hadError = true;
@@ -66,7 +69,14 @@
public static void printErrors() {
for (Message m: allErrors) {
- System.err.println(m.toString());
+ if (m.level == WARNING) {
+ System.err.println(m.toString());
+ }
+ }
+ for (Message m: allErrors) {
+ if (m.level == ERROR) {
+ System.err.println(m.toString());
+ }
}
}
diff --git a/tools/droiddoc/src/PackageInfo.java b/tools/droiddoc/src/PackageInfo.java
index 09b73d4..aac0def 100644
--- a/tools/droiddoc/src/PackageInfo.java
+++ b/tools/droiddoc/src/PackageInfo.java
@@ -117,36 +117,55 @@
public void makeClassLinkListHDF(HDF data, String base)
{
makeLink(data, base);
- ClassInfo.makeLinkListHDF(data, base + ".interfaces", ClassInfo.sortByName(interfaces()));
- ClassInfo.makeLinkListHDF(data, base + ".classes", ClassInfo.sortByName(ordinaryClasses()));
- ClassInfo.makeLinkListHDF(data, base + ".enums", ClassInfo.sortByName(enums()));
- ClassInfo.makeLinkListHDF(data, base + ".exceptions", ClassInfo.sortByName(exceptions()));
- ClassInfo.makeLinkListHDF(data, base + ".errors", ClassInfo.sortByName(errors()));
+ ClassInfo.makeLinkListHDF(data, base + ".interfaces", interfaces());
+ ClassInfo.makeLinkListHDF(data, base + ".classes", ordinaryClasses());
+ ClassInfo.makeLinkListHDF(data, base + ".enums", enums());
+ ClassInfo.makeLinkListHDF(data, base + ".exceptions", exceptions());
+ ClassInfo.makeLinkListHDF(data, base + ".errors", errors());
}
public ClassInfo[] interfaces()
{
- return filterHidden(Converter.convertClasses(mPackage.interfaces()));
+ if (mInterfaces == null) {
+ mInterfaces = ClassInfo.sortByName(filterHidden(Converter.convertClasses(
+ mPackage.interfaces())));
+ }
+ return mInterfaces;
}
public ClassInfo[] ordinaryClasses()
{
- return filterHidden(Converter.convertClasses(mPackage.ordinaryClasses()));
+ if (mOrdinaryClasses == null) {
+ mOrdinaryClasses = ClassInfo.sortByName(filterHidden(Converter.convertClasses(
+ mPackage.ordinaryClasses())));
+ }
+ return mOrdinaryClasses;
}
public ClassInfo[] enums()
{
- return filterHidden(Converter.convertClasses(mPackage.enums()));
+ if (mEnums == null) {
+ mEnums = ClassInfo.sortByName(filterHidden(Converter.convertClasses(mPackage.enums())));
+ }
+ return mEnums;
}
public ClassInfo[] exceptions()
{
- return filterHidden(Converter.convertClasses(mPackage.exceptions()));
+ if (mExceptions == null) {
+ mExceptions = ClassInfo.sortByName(filterHidden(Converter.convertClasses(
+ mPackage.exceptions())));
+ }
+ return mExceptions;
}
public ClassInfo[] errors()
{
- return filterHidden(Converter.convertClasses(mPackage.errors()));
+ if (mErrors == null) {
+ mErrors = ClassInfo.sortByName(filterHidden(Converter.convertClasses(
+ mPackage.errors())));
+ }
+ return mErrors;
}
// in hashed containers, treat the name as the key
@@ -157,5 +176,10 @@
private String mName;
private PackageDoc mPackage;
+ private ClassInfo[] mInterfaces;
+ private ClassInfo[] mOrdinaryClasses;
+ private ClassInfo[] mEnums;
+ private ClassInfo[] mExceptions;
+ private ClassInfo[] mErrors;
}