diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java index b19415314ca..ab8d75aef0b 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java @@ -165,7 +165,7 @@ public class HtmlSerialFieldWriter extends FieldWriterImpl writer.addInlineComment(field, contentTree); } List tags = utils.getSerialTrees(field); - if (!tags.isEmpty()) { + if (!tags.isEmpty() && !tags.get(0).getDescription().isEmpty()) { writer.addInlineComment(field, tags.get(0), contentTree); } } diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java index 015236f54db..aa6e31e7c12 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java @@ -47,7 +47,7 @@ import jdk.javadoc.internal.doclets.toolkit.taglets.TagletManager; * deletion without notice. */ public class HtmlSerialMethodWriter extends MethodWriterImpl implements - SerializedFormWriter.SerialMethodWriter{ + SerializedFormWriter.SerialMethodWriter { public HtmlSerialMethodWriter(SubWriterHolderWriter writer, TypeElement typeElement) { super(writer, typeElement); diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java index 4c941ff213d..8d97e0c5b4f 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java @@ -27,8 +27,10 @@ package jdk.javadoc.internal.doclets.formats.html; import java.util.Set; +import javax.lang.model.element.PackageElement; import javax.lang.model.element.TypeElement; +import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder; import jdk.javadoc.internal.doclets.formats.html.markup.Entity; import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle; import jdk.javadoc.internal.doclets.formats.html.markup.TagName; @@ -106,15 +108,15 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter /** * Get the given package header. * - * @param packageName the package header to write + * @param packageElement the package element to write * @return a content tree for the package header */ @Override - public Content getPackageHeader(String packageName) { + public Content getPackageHeader(PackageElement packageElement) { Content heading = HtmlTree.HEADING_TITLE(Headings.SerializedForm.PACKAGE_HEADING, contents.packageLabel); heading.add(Entity.NO_BREAK_SPACE); - heading.add(packageName); + heading.add(getPackageLink(packageElement, Text.of(utils.getPackageName(packageElement)))); return heading; } @@ -159,15 +161,26 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter ? getLink(new HtmlLinkInfo(configuration, HtmlLinkInfo.Kind.SERIALIZED_FORM, typeElement.getSuperclass())) : null; + Content interfaceLink = getLink(new HtmlLinkInfo(configuration, HtmlLinkInfo.Kind.SERIALIZED_FORM, + utils.isExternalizable(typeElement) + ? utils.getExternalizableType() + : utils.getSerializableType())); - //Print the heading. - Content className = superClassLink == null ? - contents.getContent( - "doclet.Class_0_implements_serializable", classLink) : - contents.getContent( - "doclet.Class_0_extends_implements_serializable", classLink, - superClassLink); + // Print the heading. + Content className = new ContentBuilder(); + className.add(utils.getTypeElementKindName(typeElement, false)); + className.add(Entity.NO_BREAK_SPACE); + className.add(classLink); section.add(HtmlTree.HEADING(Headings.SerializedForm.CLASS_HEADING, className)); + // Print a simplified signature. + Content signature = new ContentBuilder(); + signature.add("class "); + signature.add(typeElement.getSimpleName()); + signature.add(" extends "); + signature.add(superClassLink); + signature.add(" implements "); + signature.add(interfaceLink); + section.add(HtmlTree.DIV(HtmlStyle.typeSignature, signature)); return section; } diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/SerializedFormWriter.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/SerializedFormWriter.java index ffa1ffa5cf2..127f2c7a61f 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/SerializedFormWriter.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/SerializedFormWriter.java @@ -26,6 +26,7 @@ package jdk.javadoc.internal.doclets.toolkit; import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.PackageElement; import javax.lang.model.element.TypeElement; import javax.lang.model.element.VariableElement; import javax.lang.model.type.TypeMirror; @@ -77,10 +78,10 @@ public interface SerializedFormWriter { /** * Get the given package header. * - * @param packageName the package header to write + * @param packageElement the package element to write * @return a content tree for the package header */ - Content getPackageHeader(String packageName); + Content getPackageHeader(PackageElement packageElement); /** * Get the serialized class header. diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java index 37f8371adc4..262b0b82567 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java @@ -193,8 +193,7 @@ public class SerializedFormBuilder extends AbstractBuilder { * @param packageSerializedTree content tree to which the documentation will be added */ protected void buildPackageHeader(Content packageSerializedTree) { - packageSerializedTree.add(writer.getPackageHeader( - utils.getPackageName(currentPackage))); + packageSerializedTree.add(writer.getPackageHeader(currentPackage)); } /** diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties index 437946390b4..7a6c4e5a46b 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties @@ -32,8 +32,6 @@ doclet.Serialized_Form=Serialized Form doclet.Serialized_Form_methods=Serialization Methods doclet.Serialized_Form_fields=Serialized Fields doclet.Serialized_Form_class=Serialization Overview -doclet.Class_0_implements_serializable=Class {0} implements Serializable -doclet.Class_0_extends_implements_serializable=Class {0} extends {1} implements Serializable doclet.Option_conflict=Option {0} conflicts with {1} doclet.Option_reuse=Option reused: {0} doclet.Option_invalid=Invalid argument {0} for {1} option diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css index b8a4fe55230..cb9c78934f3 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css @@ -54,13 +54,13 @@ h3 { font-size:16px; } h4 { - font-size:13px; + font-size:15px; } h5 { - font-size:12px; + font-size:14px; } h6 { - font-size:11px; + font-size:13px; } ul { list-style-type:disc; diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java index dee8e47ca32..3caa72c8bf5 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java @@ -69,6 +69,7 @@ import static com.sun.source.doctree.DocTree.Kind.EXCEPTION; import static com.sun.source.doctree.DocTree.Kind.HIDDEN; import static com.sun.source.doctree.DocTree.Kind.LINK; import static com.sun.source.doctree.DocTree.Kind.LINK_PLAIN; +import static com.sun.source.doctree.DocTree.Kind.PARAM; import static com.sun.source.doctree.DocTree.Kind.PROVIDES; import static com.sun.source.doctree.DocTree.Kind.SEE; import static com.sun.source.doctree.DocTree.Kind.SERIAL; @@ -594,6 +595,7 @@ public class TagletManager { // init the serialized form tags for the serialized form page serializedFormTags = new ArrayList<>(); serializedFormTags.add(allTaglets.get(SERIAL_DATA.tagName)); + serializedFormTags.add(allTaglets.get(PARAM.tagName)); serializedFormTags.add(allTaglets.get(THROWS.tagName)); if (!nosince) serializedFormTags.add(allTaglets.get(SINCE.tagName)); diff --git a/test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java b/test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java index 60242a2db1d..dfa22f8edb0 100644 --- a/test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java +++ b/test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java @@ -92,9 +92,9 @@ public class TestHeadings extends JavadocTester { // Serialized Form checkOutput("serialized-form.html", true, """ -

Package pkg1

""", +

Package pkg1

""", """ -

Class pkg1.C1 extends java.lang.Object implements Serializable

""", +

Class pkg1.C1

""", "

Serialized Fields

"); // Overview Summary diff --git a/test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java b/test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java index 2bc21af6558..43d3942aa52 100644 --- a/test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java +++ b/test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java @@ -241,7 +241,6 @@ public class TestHtmlDefinitionListTag extends JavadocTester { setUndecorated(boolean).
This field indicates whether the C1 is undecorated.
-  
Since:
1.4
@@ -259,6 +258,8 @@ public class TestHtmlDefinitionListTag extends JavadocTester {
Reads the object stream.
+
Parameters:
+
s - ObjectInputStream
Throws:
java.io.IOException
""", @@ -350,7 +351,6 @@ public class TestHtmlDefinitionListTag extends JavadocTester { setUndecorated(boolean).
This field indicates whether the C1 is undecorated.
-  
Since:
1.4
@@ -368,6 +368,8 @@ public class TestHtmlDefinitionListTag extends JavadocTester {
Reads the object stream.
+
Parameters:
+
s - ObjectInputStream
Throws:
java.io.IOException
""", diff --git a/test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java b/test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java index bfba8ba31cc..9637c589a06 100644 --- a/test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java +++ b/test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java @@ -241,7 +241,7 @@ public class TestHtmlVersion extends JavadocTester {
""", """
-

Package pkg

+

Package pkg

""", """
""", diff --git a/test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java b/test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java index f56ce3bebe0..c98e6351636 100644 --- a/test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java +++ b/test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java @@ -23,7 +23,7 @@ /* * @test - * @bug 4341304 4485668 4966728 8032066 8071982 8192933 8215307 + * @bug 4341304 4485668 4966728 8032066 8071982 8192933 8215307 8232644 * @summary Test that methods readResolve and writeReplace show * up in serialized-form.html the same way that readObject and writeObject do. * If the doclet includes readResolve and writeReplace in the serialized-form @@ -76,28 +76,32 @@ public class TestSerializedForm extends JavadocTester {
""", - "

Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass " - + "extends java.lang.Object implements Serializable

", - "

Class pkg1.PrivateIncludeInnerClass.PriInnerClass extends " - + "java.lang.Object implements Serializable

", - "

Class pkg1.ProtectedInnerClass.ProInnerClass extends " - + "java.lang.Object implements Serializable

"); + """ +

Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass

+
class ProNestedInnerClass extends java.lang.Object i\ + mplements java.io.Serializable
+ """, + """ +

Class pkg1.PrivateIncludeInnerClass.PriInnerClass

+
class PriInnerClass extends java.lang.Object impleme\ + nts java.io.Serializable
""", + """ +

Class pkg1.ProtectedInnerClass.ProInnerClass

+
class ProInnerClass extends java.lang.Object impleme\ + nts java.io.Serializable
"""); checkOutput("serialized-form.html", false, """ -

Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass ext\ - ends java.lang.Object implements Serializable

""", +

Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass

""", """ -

Class pkg1.PrivateInnerClass.PriInnerClass extends java.lang.Object implements\ - Serializable

""", +

Class pkg1.PrivateInnerClass.PriInnerClass

""", """ -

Class pkg1.ProtectedInnerClass.ProInnerClass extends java.lang.Object implem\ - ents Serializable

""", - "

Class pkg1.PublicExcludeInnerClass.PubInnerClass extends java.lang.Object implements " - + "Serializable

"); +

Class pkg1.ProtectedInnerClass.ProInnerClass

""", + "

Class pkg1.PublicExcludeInnerClass.PubInnerClass

"); checkOutput("serialized-form.html", true, """ @@ -127,29 +131,29 @@ public class TestSerializedForm extends JavadocTester { checkOutput("serialized-form.html", true, """ -

Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass ext\ - ends java.lang.Object implements Serializable

""", +

Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass

+
class ProNestedInnerClass extends java.lang.Object i\ + mplements java.io.Serializable
""", """ -

Class pkg1.PrivateIncludeInnerClass.PriInnerClass extends java.lang.Obj\ - ect implements Serializable

""", +

Class pkg1.PrivateIncludeInnerClass.PriInnerClass

+
class PriInnerClass extends java.lang.Object impleme\ + nts java.io.Serializable
""", """ -

Class pkg1.ProtectedInnerClass.ProInnerClass extends java.lang.Object implem\ - ents Serializable

"""); +

Class pkg1.ProtectedInnerClass.ProInnerClass

+
class ProInnerClass extends java.lang.Object impleme\ + nts java.io.Serializable
"""); checkOutput("serialized-form.html", false, - "

Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass " - + "extends java.lang.Object implements Serializable

", - "

Class pkg1.PrivateInnerClass.PriInnerClass extends " - + "java.lang.Object implements Serializable

", - "

Class pkg1.ProtectedInnerClass.ProInnerClass extends " - + "java.lang.Object implements Serializable

", + "

Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass

", + "

Class pkg1.PrivateInnerClass.PriInnerClass

", + "

Class pkg1.ProtectedInnerClass.ProInnerClass

", """ -

Class pkg1.PublicExcludeInnerClass.PubInnerClass extends java.lang.Objec\ - t implements Serializable

"""); +

Class pkg1.PublicExcludeInnerClass.PubInnerClass

"""); checkOutput("serialized-form.html", true, """ diff --git a/test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java b/test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java index be8519d659e..8ca193421f6 100644 --- a/test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java +++ b/test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java @@ -23,7 +23,7 @@ /* * @test - * @bug 6802694 8025633 8026567 8183511 8074407 8182765 + * @bug 6802694 8025633 8026567 8183511 8074407 8182765 8232644 * @summary This test verifies deprecation info in serialized-form.html. * @library ../../lib * @modules jdk.javadoc/jdk.javadoc.internal.tool @@ -110,7 +110,6 @@ public class TestSerializedFormDeprecationInfo extends JavadocTester { setUndecorated(boolean).
This field indicates whether the C1 is undecorated.
-  
Since:
1.4
@@ -128,6 +127,8 @@ public class TestSerializedFormDeprecationInfo extends JavadocTester {
Reads the object stream.
+
Parameters:
+
s - ObjectInputStream
Throws:
java.io.IOException - on error
""", diff --git a/test/langtools/jdk/javadoc/doclet/testSuperclassInSerialForm/TestSuperClassInSerialForm.java b/test/langtools/jdk/javadoc/doclet/testSuperclassInSerialForm/TestSuperClassInSerialForm.java index 8f834fa8608..803dd283971 100644 --- a/test/langtools/jdk/javadoc/doclet/testSuperclassInSerialForm/TestSuperClassInSerialForm.java +++ b/test/langtools/jdk/javadoc/doclet/testSuperclassInSerialForm/TestSuperClassInSerialForm.java @@ -44,13 +44,15 @@ public class TestSuperClassInSerialForm extends JavadocTester { @Test public void test() { javadoc("-d", "out", + "--no-platform-links", "-sourcepath", testSrc, "pkg"); checkExit(Exit.OK); checkOutput("serialized-form.html", true, """ - pkg.SubClass extends SuperClass"""); +

Class pkg.SubClass

+
class SubClass extends SuperClass implements java.io.Serializable
"""); } }