On Mon, 29 Apr 2024 16:07:14 GMT, Pavel Rappo <pra...@openjdk.org> wrote:

>> Please review this PR that aims to add all the remaining needed `@since` 
>> tags in `java.base`, and group them into a single fix.
>> This is related to #18934 and my work around the `@since` checker feature.
>> Explicit `@since` tags are needed for some overriding methods for the 
>> purpose of the checker.
>> 
>> I will only give the example with the `CompletableFuture` class but here is 
>> the before where the methods only appeared in "Methods declared in interface 
>> N"
>> 
>> <img width="1510" alt="Screenshot 2024-05-06 at 00 06 57" 
>> src="https://github.com/openjdk/jdk/assets/96922791/1749a355-133b-4a38-bffe-51ac415b2aac";>
>> 
>> 
>> 
>> and after where the method has it's own javadoc, the main description is 
>> added and the `@since` tags are added as intended.
>> 
>> I don't have an account on `https://cr.openjdk.org/` but I could host the 
>> generated docs somewhere if that is needed.
>> 
>> <img width="1511" alt="Screenshot 2024-05-06 at 00 07 16" 
>> src="https://github.com/openjdk/jdk/assets/96922791/89b92288-9b5e-48ed-8fa1-9342ea43e043";>
>> 
>> <img width="1505" alt="Screenshot 2024-05-06 at 00 08 06" 
>> src="https://github.com/openjdk/jdk/assets/96922791/9aef08ff-5030-4189-a996-582a7eef849b";>
>> 
>> <img width="1050" alt="Screenshot 2024-05-06 at 00 09 03" 
>> src="https://github.com/openjdk/jdk/assets/96922791/fdd75a26-0396-4c5e-8f59-a3717b7d7ec8";>
>> 
>> 
>> TIA
>
> src/java.base/share/classes/java/io/FileInputStream.java line 345:
> 
>> 343:      * @throws    IllegalArgumentException {@inheritDoc}
>> 344:      * @throws    IOException {@inheritDoc}
>> 345:      * @throws    OutOfMemoryError {@inheritDoc}
> 
> Re: inheriting _unchecked_ exception documentation here and elsewhere in this 
> PR
> 
> This PR's title suggests that the PR has nothing to do with exception 
> documentation. If you feel that it should be addressed, please file a 
> separate bug and move these changes there.
> 
> FWIW, I agree that `@throws ... {@inheritDoc}` for such exceptions are at 
> least worth being considered. It's a common misconception that all exception 
> documentation is inherited automatically.

This is because the tool from #18934 has no easy way to fetch the doc comment 
from a superclass/superinterface overridden method when this class only has a 
plain override. Javadoc handles this in complex logic in `VisibleMemberTable`; 
it's hard for other clients to try to emulate the behavior of doc finding, and 
the tool just incorrectly assumes such methods (what I have been talking about 
before) are reusing `@since` from the class docs.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18954#discussion_r1583449647

Reply via email to