The hidden types in generics are not corrected and placed into signature file,
this is part of IBM Bug for generics definition.
Example:
package test;
class Y{}
public class X {
Object f1;
protected <T extends Y> X(T arg) {
f1=arg;
}
}
--------------------------------------- result -----------------
#Signature file v3.1
#Version
CLSS public test.X
cons protected <%0 extends test.Y> test.X({%%0})
meth final public java.lang.Class<?> java.lang.Object.getClass()
meth final public void java.lang.Object.notify()
meth final public void java.lang.Object.notifyAll()
meth final public void java.lang.Object.wait() throws java.lang.InterruptedException
meth final public void java.lang.Object.wait(long) throws java.lang.InterruptedException
meth final public void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
meth protected java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException
meth protected void java.lang.Object.finalize() throws java.lang.Throwable
meth public boolean java.lang.Object.equals(java.lang.Object)
meth public int java.lang.Object.hashCode()
meth public java.lang.String java.lang.Object.toString()
supr java.lang.Object
this is part of IBM Bug for generics definition.
Example:
package test;
class Y{}
public class X {
Object f1;
protected <T extends Y> X(T arg) {
f1=arg;
}
}
--------------------------------------- result -----------------
#Signature file v3.1
#Version
CLSS public test.X
cons protected <%0 extends test.Y> test.X({%%0})
meth final public java.lang.Class<?> java.lang.Object.getClass()
meth final public void java.lang.Object.notify()
meth final public void java.lang.Object.notifyAll()
meth final public void java.lang.Object.wait() throws java.lang.InterruptedException
meth final public void java.lang.Object.wait(long) throws java.lang.InterruptedException
meth final public void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
meth protected java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException
meth protected void java.lang.Object.finalize() throws java.lang.Throwable
meth public boolean java.lang.Object.equals(java.lang.Object)
meth public int java.lang.Object.hashCode()
meth public java.lang.String java.lang.Object.toString()
supr java.lang.Object