RFR: 8335122: Reorganize internal low-level support for HTML in jdk.javadoc

Jonathan Gibbons jjg at openjdk.org
Mon Jul 8 18:35:23 UTC 2024


Please review a change to reorganize the internal low-level support for HTML in the jdk.javadoc module.

Hitherto, there are two separate sets of classes for low-level support for HTML in the `jdk.javadoc` module: one, in doclint, focused on reading and checking classes, the other, in the standard doclet, focused on generating HTML. This PR merges those two sets, into a new package `jdk.javadoc.internal.html` that is now used by both `doclint` and the standard doclet.

There was a naming "anti-clash" -- `HtmlTag` in `doclint` vs `TagName` in the standard doclet. The resolution is to use `HtmlTag`, since the merged class is more than just the tag name.

A few minor bugs were found and fixed.   Other minor cleanup was done, but otherwise, there should be no big surprises here. But, one small item of note: `enum HtmlStyle` was split into `interface HtmlStyle` and `enum HtmlStyles implements HtmlStyle` to avoid having a doclet-specific enum class in the new `internal.html` package.  The naming follows `HtmlId` and `HtmlIds`.

There is no attempt at this time to simplify `HtmlTag` and `HtmlAttr` to remove support for older versions of HTML.

-------------

Commit messages:
 - Cleanup pass
 - Merge doclint into html: part 2: TagName/HtmlTag
 - Merge doclint support classes into html: part 1: attributes
 - Move basic classes from internal.doclets.formats.html.markup to internal.html

Changes: https://git.openjdk.org/jdk/pull/19916/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19916&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8335122
  Stats: 2724 lines in 106 files changed: 861 ins; 992 del; 871 mod
  Patch: https://git.openjdk.org/jdk/pull/19916.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19916/head:pull/19916

PR: https://git.openjdk.org/jdk/pull/19916


More information about the compiler-dev mailing list