On Tue, 29 Oct 2024 14:51:53 GMT, Hannes Wallnöfer <hann...@openjdk.org> 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

Reply via email to