On Thu, 4 Feb 2021 13:18:09 GMT, Hannes Wallnöfer <hann...@openjdk.org> wrote:
> This change improves support for the `@hidden` tag to suppress documentation > for specific elements, especially in the context of classes, interfaces and > inheritance/method overriding. > > The important changes are in `Utils` and in `VisibleMemberTable`. (There is > also a number of non-related small code cleanup changes, sorry about that, I > know it makes review a bit harder but I couldn't resist.) > > In `Utils` the most important change are: > > - Consider types as "undocumented enclosures" if they are marked with a > `@hidden` tag > - Check for `@hidden` tags even in non-included elements as they may be > included via undocumented enclosures > - To counter the above change, only run doclint on elements that are either > included or contained in an included type, as we don't want to report > warnings or errors for non-included code. > > In `VisibleMemberTable` there is a subtle change to not consider an > overriding method as a "simple override" if the overridden method is hidden > or otherwise invisible but in turn is a non-simple override of a method > further up the inheritance chain. This resulted in methods which should have > been documented as declared locally to be documented as declared in > supertypes. I also did a bit of renaming in `VisibleMemberTable` to make the > purpose of things a bit clearer. > > Other than that, most of the changes consist of added calls to > `utils.hasHiddenTag(Element)`, usually with the purpose of not generating > links to things that are not there. This pull request has now been integrated. Changeset: 3210095a Author: Hannes Wallnöfer <hann...@openjdk.org> URL: https://git.openjdk.java.net/jdk/commit/3210095a Stats: 435 lines in 16 files changed: 303 ins; 32 del; 100 mod 8261079: Fix support for @hidden in classes and interfaces Reviewed-by: jjg ------------- PR: https://git.openjdk.java.net/jdk/pull/2406