On Mon, 17 Jul 2023 22:21:18 GMT, Jonathan Gibbons <j...@openjdk.org> wrote:
> Please review a medium-sized but conceptually simple change to simplify the > overall class hierarchy of the `doclet` world. > > As described in detail in the JBS entry, the classes in > `toolkit.builder.*Builder` and corresponding writer interfaces in > `toolkit.*Writer` provide little useful benefit, and only serve to clutter a > somewhat chaotic situation. > > In this patch, the following is done: > * the `builder` methods in `toolkit/builders/---Builder.java` are moved into > the corresponding `formats/html/---WriterImpl.java` class. Generally, the > insertion was done "early" in the file, typically after the constructor(s). > * the `writer` interfaces in `toolkit/---Writer.java` are deleted and > references to them in `implements` clauses removed. > * the `writer` classes in `formats/html/---WriterImpl.java` are renamed to > `formats/html/---Writer.java` and in a couple of anomalous cases, the > `writer` classes in `formats/html/Html---Writer.java` are also renamed to > `formats/html/---Writer.java`. > * the markup root class `Content` no longer needs to be in `toolkit` and is > moved to `formats/html`. (It's a close call whether it is better there or in > `formats/html/markup`. > > * Because of the class renaming, one test had to be updated; no other tests > were affected by these changes. > * Because of the class renaming, the `<meta name="generator" ...>` > information changes; there are no other changes to the generated JDK API > documentation. > > The changes to the `doclets` class hierarchy are shown in two attachments in > the JBS entry. In those images, you can see the "clutter" of the `builder` > world and `writer` world being simplified. > > The following tables show the changes in the number of files and the number > of lines of code resulting from this refactoring. > > ### # files > | | before | after | change | %before | > |-------------:|-------:|------:|-------:|--------:| > | toolkit | 79 | 46 | -33 | 58% | > | formats/html | 108 | 109 | 1 | 101% | > | doclets | 189 | 157 | -32 | 83% | > > ### # lines of code > > | | before | after | change | %before | > |-------------:|-------:|------:|-------:|--------:| > | toolkit | 21445 | 15597 | -5848 | 73% | > | formats/html | 29805 | 31968 | 2163 | 107% | > | doclets | 51325 | 47640 | -3685 | 93% | > > This generally completes the recent large-scale refactoring and > simplification that was started in > [JDK-8309566](https://bugs.openjdk.org/browse/JDK-8309566). While large-scale > ref... Looks good. ------------- Marked as reviewed by prappo (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/14913#pullrequestreview-1541392855