RFR: JDK-8302324: Inheritance tree does not show correct type parameters/arguments [v2]

Hannes Wallnöfer hannesw at openjdk.org
Tue Feb 14 12:35:16 UTC 2023


On Tue, 14 Feb 2023 10:28:01 GMT, Pavel Rappo <prappo at openjdk.org> wrote:

>> Hannes Wallnöfer has updated the pull request incrementally with three additional commits since the last revision:
>> 
>>  - Update test/langtools/jdk/javadoc/doclet/testInheritance/TestInheritance.java
>>    
>>    Co-authored-by: Pavel Rappo <32523691+pavelrappo at users.noreply.github.com>
>>  - Update test/langtools/jdk/javadoc/doclet/testInheritance/TestInheritance.java
>>    
>>    Co-authored-by: Pavel Rappo <32523691+pavelrappo at users.noreply.github.com>
>>  - Update test/langtools/jdk/javadoc/doclet/testInheritance/TestInheritance.java
>>    
>>    Co-authored-by: Pavel Rappo <32523691+pavelrappo at users.noreply.github.com>
>
> test/langtools/jdk/javadoc/doclet/testInheritance/TestInheritance.java line 65:
> 
>> 63:                      * @param <P> param P
>> 64:                      */
>> 65:                     public class B<O, P>  extends A<O, P> { private B() { } }
> 
> The source is non-compilable due to constructors being private; is it done on purpose?

You're right, my only intention here was to minimize code while avoiding warnings.

> test/langtools/jdk/javadoc/doclet/testInheritance/TestInheritance.java line 82:
> 
>> 80:                      * @param <S> param S
>> 81:                      */
>> 82:                     public class D<R, S>  extends B<S, B>{ private D() { } }
> 
> While it's good for testing, recursive parametrization `B<B>` might not be what it seems. The second occurrence of B is a raw type.

I agree the code doesn't make much sense, the intention was to cover as much functionality as possible.

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

PR: https://git.openjdk.org/jdk/pull/12544


More information about the javadoc-dev mailing list