Details
-
Bug
-
Resolution: Fixed
-
P3
-
9
-
None
-
b34
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<T></code>, ...
$ 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<T></code>, ...
Attachments
Issue Links
- relates to
-
JDK-8163386 [Doclet] address interfaceTypesOf
-
- Resolved
-