On Thu, 14 Apr 2022 09:20:08 GMT, Pavel Rappo <pra...@openjdk.org> wrote:

>> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/InheritDocTaglet.java
>>  line 46:
>> 
>>> 44: /**
>>> 45:  * An inline taglet representing the {@code {@inheritDoc}} tag.
>>> 46:  * It is used to copy documentation from superclass (but not 
>>> superinterface)
>> 
>> is that true,(not super interfaces)?
>> 
>> what about when `{@inheritDoc}` is used in interfaces?
>
> Yes, this is true [^1]. Superinterfaces are currently unsupported. Even 
> inhereting documentation from a class declaration (i.e. the top-level 
> comment) is unofficial; it was rather an unintended consequence of 
> JDK-8008768.
> 
> That said, inhereting documentation from a class or interface declaration 
> seems useful. It should be fixed and made official through a CSR. I thought 
> that it's quite a lot of work which shouldn't be done in a cleanup PR such as 
> this one. My goal here is to make the internal comments accurate and up to 
> date.
> 
> [^1]: Have a look here: 
> https://github.com/openjdk/jdk/blob/5896905ff06a83a9960ac2a2c5974c471ccd0666/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocFinder.java#L261-L272
>  Consider that `TypeElement.getSuperclass()` never returns interfaces.

Wow, OK, thanks for the update/info

>> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/InheritDocTaglet.java
>>  line 89:
>> 
>>> 87:                 ? null
>>> 88:                 : 
>>> configuration.tagletManager.getTaglet(ch.getTagName(holderTag));
>>> 89:         if (taglet != null && !(taglet instanceof InheritableTaglet)) {
>> 
>> Optional, this is a possible use case for patterns in `instanceof` ... you 
>> could declare a name here and save the cast on line 95
>
> I think `taglet != null` gets in the way. I tried to change the order of 
> conjuncts, but to no avail: flow scoping analysis seems to give up. Might be 
> something that the compiler folks can comment on.

Noted

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

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

Reply via email to