On Tue, 29 Oct 2024 14:51:53 GMT, Hannes Wallnöfer <[email protected]> wrote:
> Please review a change to avoid generation of index items for comments
> inherited from overridden methods. This affects `{@index}`,
> `{@systemProperty}`, and `@spec` tags in both implicitly and explicitly doc
> comments.
>
> The change adds two additional means for avoiding generation of index items
> which partially overlap:
>
> - Adding the `inheritDoc` tag to the current `TagletWriter.Context` when
> rendering an inherited doc comment
> - Comparing the element's type element with the type element currently being
> documented
>
> The second check is necessary for implicitly inherited doc comments (e.g.
> overriding a method without doc comment), while usage of `{@inheritDoc}` tag
> is detected by checks. I still decided to add the `inheritDoc` tag constant
> to `TagletWriter.Context` since it is explicit, uses a mechanism that was
> created for the purpose, and might be useful in other places.
>
> There was a test case for the previous (buggy) behaviour to add a search tag
> index item using the overridden method signature as label. I changed the
> expected behaviour and added another method to cover usage of the
> `{@systemProperty}` tag in combination with `{@inheritDoc}`.
Looks good with or without the nit below.
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/TagletWriter.java
line 479:
> 477: // Test if element is the same as or belongs to the current page
> element
> 478: private boolean isDifferentTypeElement(Element element) {
> 479: if (element.getKind().isClass() ||
> element.getKind().isInterface()) {
Your version might be a bit more readable, but this one is shorter:
Suggestion:
if (element.getKind().isDeclaredType()) {
-------------
Marked as reviewed by prappo (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/21765#pullrequestreview-2423888865
PR Review Comment: https://git.openjdk.org/jdk/pull/21765#discussion_r1834452598