> doclint is a component that can check documentation comments, that can be 
> invoked from either javac or javadoc, via the
> `-Xdoclint` family of options.
> When JDK was modularized in JDK9, doclint was left in the `jdk.compiler` 
> module because of direct references to the
> code from javac, even though functionally the code more naturally belongs in 
> the `jdk.javadoc` module.
> This change moves the code into the `jdk.javadoc`, using a service/provider 
> API to make the functionality available to
> javac. This should be completely transparent, as long as the `jdk.javadoc` 
> module is available when performing service
> binding. If it is not available, a default no-op implementation is 
> automatically used instead.  One minor complication:
> the old code used static methods on the `DocLint` class to validate options. 
> This is no longer possible when using the
> service provider mechanism. Instead, the methods are changed to instance 
> methods. The javac `Option` enum has no way to
> cleanly cache an instance of the service provider class, and so a new 
> instance is created for each option. However,
> this is a relatively lightweight operation, and can reasonably be done for 
> the typically few doclint-related options on
> the command line.  Note: JShell has been making minor use of an internal  
> doclint class enum `HtmlTag`, which is no
> longer easily available. A minimal local enum is left behind in JShell's 
> `JavadocFomatter` class, sufficient to its
> requirements. Since the dominant use of the enum is in `switch` statements, 
> an alternative solution, avoiding the local
> enum, would be to use strings and _switch on string_ instead.  However, the 
> use of the local enum is a smaller
> disturbance to the `JavadocFormatter` class.

Jonathan Gibbons has updated the pull request incrementally with one additional 
commit since the last revision:

  Address comments

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/133/files
  - new: https://git.openjdk.java.net/jdk/pull/133/files/f1dd503f..512b6ba2

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=133&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=133&range=01-02

  Stats: 26 lines in 2 files changed: 25 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/133.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/133/head:pull/133

PR: https://git.openjdk.java.net/jdk/pull/133

Reply via email to