This is a small code review request for an issue I encountered when trying to 
compare the result of the output of a docs build from two JDK repos. I’ll file 
a bug on it soon.

The issue is that the 'Annotation Type Hierarchy' & 'Enum Hierarchy’ sections 
of ‘Use' and ‘Tree’ view for a package are not always in the same order ( the 
issue may appear in other views too, but these are the only ones I observed). 
The implementation uses a List, whose elements may be added in a different 
order, depending on encounter order. These elements should be ordered, as 
others are. It just appears to be an oversight in the original implementation.

diff --git 
a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java 
b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java
--- 
a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java
+++ 
b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java
@@ -155,12 +155,21 @@
         }
 
         Collections.sort(baseinterfaces);
+        Collections.sort(baseAnnotationTypes);
+        Collections.sort(baseEnums);
         for (List<ClassDoc> docs : subinterfaces.values()) {
             Collections.sort(docs);
         }
         for (List<ClassDoc> docs : subclasses.values()) {
             Collections.sort(docs);
         }
+        for (List<ClassDoc> docs : subAnnotationTypes.values()) {
+            Collections.sort(docs);
+        }
+        for (List<ClassDoc> docs : subEnums.values()) {
+            Collections.sort(docs);
+        }
+
     }
 
-Chris.

Reply via email to