src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java Sat Dec 08 18:52:57 2018 -0500
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java Sun Dec 09 12:36:24 2018 -0500
@@ -71,6 +71,16 @@
*/
public class ClassWriterImpl extends SubWriterHolderWriter implements ClassWriter {
+ private static final Set<String> suppressSubtypesSet
+ = Set.of("java.lang.Object",
+ "org.omg.CORBA.Object");
+
+ private static final Set<String> suppressImplementingSet
+ = Set.of( "java.lang.Cloneable",
+ "java.lang.constant.Constable",
+ "java.lang.constant.ConstantDesc",
+ "java.io.Serializable");
+
protected final TypeElement typeElement;
protected final ClassTree classtree;
@@ -370,9 +380,10 @@
@Override
public void addSubClassInfo(Content classInfoTree) {
if (utils.isClass(typeElement)) {
- if (typeElement.getQualifiedName().contentEquals("java.lang.Object") ||
- typeElement.getQualifiedName().contentEquals("org.omg.CORBA.Object")) {
- return; // Don't generate the list, too huge
+ for (String s : suppressSubtypesSet) {
+ if (typeElement.getQualifiedName().contentEquals(s)) {
+ return; // Don't generate the list, too huge
+ }
}
Set<TypeElement> subclasses = classtree.directSubClasses(typeElement, false);
if (!subclasses.isEmpty()) {
@@ -412,9 +423,10 @@
if (!utils.isInterface(typeElement)) {
return;
}
- if (typeElement.getQualifiedName().contentEquals("java.lang.Cloneable") ||
- typeElement.getQualifiedName().contentEquals("java.io.Serializable")) {
- return; // Don't generate the list, too big
+ for (String s : suppressImplementingSet) {
+ if (typeElement.getQualifiedName().contentEquals(s)) {
+ return; // Don't generate the list, too huge
+ }
}
Set<TypeElement> implcl = classtree.implementingClasses(typeElement);
if (!implcl.isEmpty()) {