RFR: 8323698: Class use page does not include extends/implements type arguments [v4]

Pavel Rappo prappo at openjdk.org
Tue Feb 20 21:06:54 UTC 2024


On Tue, 30 Jan 2024 04:16:54 GMT, Chen Liang <liach at openjdk.org> wrote:

>> Currently in the javadoc tool, the generated class use page does not track the occurrences of a class in the type arguments of the extends or implements list, where they can appear. (See more details on the JBS issue) For example:
>> 
>> public class One {}
>> 
>> 
>> import java.util.*;
>> public class Two extends ArrayList<One> implements Comparator<One> {
>> }
>> 
>> 
>> This patch proposes to add new 2 usage categories, "Classes that extend types with arguments of type" and "Classes that implement types with arguments of type" to describe the missing usage scenarios.
>> 
>> A preview of the new use page with the 2 new categories, generated based on the example above, can be found here: https://cr.openjdk.org/~liach/8323698-javadocuse/doc/class-use/One.html
>
> Chen Liang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
> 
>  - Review changes
>  - Merge branch 'master' of https://github.com/openjdk/jdk into feature/jd-use-super-typearg
>  - Fix tests
>  - Improve localization
>  - Merge branch 'master' of https://github.com/openjdk/jdk into feature/jd-use-super-typearg
>  - Use page to check extends/implements type arguments

It does not feel generic enough. (No pun intended.) What about using a class or interface as a bound as in this example?

    interface MyList<T extends One & Two<Three>> extends java.util.List<T>

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

PR Review: https://git.openjdk.org/jdk/pull/17414#pullrequestreview-1891583957


More information about the javadoc-dev mailing list