-
Bug
-
Resolution: Fixed
-
P3
-
9
-
None
-
b34
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>, ...
- relates to
-
JDK-8163386 [Doclet] address interfaceTypesOf
-
- Closed
-