On Thu, 27 Jul 2023 01:44:36 GMT, Jonathan Gibbons <j...@openjdk.org> wrote:

> Please review a medium change that is a follow-up to recent work to clean up 
> the builders and writers in the doclet.
> 
> This change is primarily focussed on cleaning up the code to generate summary 
> tables for each kind of member. The bulk of the code is moved from 
> `ClassWriter` to `AbstractMemberWriter`, with just a top-level loop remaining 
> in `ClassWriter` to iterate over the different kinds of members. In addition, 
> there is some cleanup in `WriterFactory`, renaming the factory methods and 
> ensuring that those that are declared are used.
> 
> One result of the cleanup is that each member writer now defines and provides 
> two methods, `buildSummary` and `buildDetails` that each create content to go 
> on the page of the enclosing type.
> 
> This work uncovered two issues which are _not_ addressed here, and which may 
> be addressed in future work.
> 
> 1. There is a discrepancy between the lists of `VMT.Kind` used in 
> `AbstractMemberWriter` (for the complete lists used to generate pages and the 
> lists of `VMT.Kind` defined in `VMT.Kind` itself, which are indirectly used 
> to generate entries in the sub-navbar for the pages of type elements.  Those 
> lists (defined as `Set`s, indirectly rely on the order in which the 
> `VMT.Kind` members are declared, although the order itself is not specified.
> 
> 2. There is an inconsistency in the subtypes of `HtmlDocletWriter`, which all 
> generate pages, as to how those classes are invoked. It is about 50/50 
> whether the classes declare a `build()` method to be called from outside, or 
> whether the classes declare a `static void generate()` method to be used 
> instead.
> 
> --
> 
> The initial commit contains two changes to tests, copied from PR #15046.  
> These changes will go away once that PR is approved, integrated and merged 
> with this work.

This pull request has now been integrated.

Changeset: 402cb6a5
Author:    Jonathan Gibbons <j...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/402cb6a550f60c75f93c709b5e5902f3757a8acd
Stats:     793 lines in 19 files changed: 273 ins; 435 del; 85 mod

8312201: Clean up common behavior in "page writers" and "member writers"
8284447: Remove the unused NestedClassWriter interface

Reviewed-by: prappo

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

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

Reply via email to