RFR: JDK-8261079: Fix support for @hidden in classes and interfaces [v3]

Hannes Wallnöfer hannesw at openjdk.java.net
Thu Feb 11 11:20:48 UTC 2021


> 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.

Hannes Wallnöfer has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits:

 - Merge master
 - JDK-8261079: Updates to review comments
    - Use separate unchecked/uncached code path when checking for @hidden tag on non-incuded elements
    - Rename OverridingMethodInfo to OverriddenMethodInfo to better reflect its purpose
 - JDK-8261079: Finish tests and small fixes
 - JDK-8261079: Fix support for @hidden in classes and interfaces

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

Changes: https://git.openjdk.java.net/jdk/pull/2406/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2406&range=02
  Stats: 435 lines in 16 files changed: 303 ins; 32 del; 100 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2406.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2406/head:pull/2406

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


More information about the javadoc-dev mailing list