JDK-8182108 : javadoc makes up type variables for grandparent types
  • Type: Bug
  • Component: tools
  • Sub-Component: javadoc(tool)
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2017-06-13
  • Updated: 2017-12-01
  • Resolved: 2017-11-29
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 10
10 b34Fixed
Related Reports
Relates :  
Description
An interface or class that (a) possesses a type parameter and (b) indirectly inherits from another interface with a type parameter may wind up passing that type parameter incorrectly to its indirect super, in the javadoc account of "All Superinterfaces".  The JLS does not allow type parameters to skip generations of super types in this way.

$ cat > Foo.java <<_EOF
import java.util.List;

public interface Foo {
    interface DumbList extends List<Object> { }
    interface ThingySupplierWithDumbList<T> extends DumbList {
        T getThingy();
    }
}
_EOF
$ javadoc Foo.java
$ grep '<dd>.*Collection' < Foo.ThingySupplierWithDumbList.html
<dd><code>java.util.Collection&lt;T&gt;</code>, ...