On Fri, 30 Oct 2020 20:11:49 GMT, Hannes Wallnöfer <[email protected]> wrote:
> This PR adds a dedicated signature to module and package overview pages and
> moves all code for generating signatures to a new
> `doclets.formats.html.Signatures` utility class. The `Signatures` class
> contains two public static methods for module and package signatures as well
> as two inner classes for type and member signatures.
>
> Signatures are rendered as `<div>` elements with top level CSS classes that
> identify the kind of signature: `module-signature`, `package-signature`,
> `type-signature` and `member-signature`. Signature components are rendered as
> `<span>` elements with CSS classes that identify the component, e.g.:
> `modifiers`, `annotations`, `element-name`, `exceptions`.
>
> As a side benefit, this PR reduces the number of methods in
> `HtmlDocletWriter` used to generate annotation information.
Generally, very nice to see this continuation of the improvements to handle
signatures.
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java
line 300:
> 298: Set<TypeElement> subclasses =
> classtree.directSubClasses(typeElement, false);
> 299: if (!subclasses.isEmpty()) {
> 300: HtmlTree dl = HtmlTree.DL(HtmlStyle.notes);
I'm surprised this has gone; is this intentional?
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java
line 1681:
> 1679:
> 1680: /**
> 1681: * Return a content tree containing the annotation types for the
> given Element.
(minor) either put type names (Element) in code font or use English equivalent
(element).
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java
line 1686:
> 1684: * @param lineBreak if true add new line between each member value
> 1685: * @return the documentation tree to which the annotation info will
> be
> 1686: * added
The method is `getAnnotationInfo` so it seems strange/confusing to return an
object to which the info _will be_ added (future tense.) I'm surprised it's
not a documentation tree containing the annotation info.
Is this a hangover from the old code?
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java
line 1693:
> 1691:
> 1692: /**
> 1693: * Return a content tree containing the annotation types for the
> given element.
`Returns`
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java
line 1718:
> 1716: *
> 1717: * @param descList a list of annotation mirrors.
> 1718: * @param lineBreak if true, add new line between each member value.
Funny typo ;-) Good catch!
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java
line 531:
> 529: //<editor-fold desc="member signature">
> 530: //
> 531: // The following constants are used for the components of a
> signature of an element
Two lines earlier, line 529, change `member signature` to `signatures`
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css
line 490:
> 488: .deprecated-content {
> 489: margin:0;
> 490: padding:10px 0;
Yay! Good improvement.
-------------
Marked as reviewed by jjg (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/966