Thanks to Dims for this simple test [1]. Any DRLVM person see what is
happening here?
public class Harmony5752 {
public final class A extends B<String, byte[]> {
}
public abstract class B<V, T> {
}
public static void main(String[] args) throws Exception {
System.out.println(A.class.getGenericSuperclass());
}
}
On the RI it prints out:
"Harmony5752.Harmony5752$B<java.lang.String, byte[]>"
On Harmony with IBM VME it prints out:
"null"
On Harmony with DRLVM it fails with:
Uncaught exception in main:
java.lang.reflect.GenericSignatureFormatError
at
org.apache.harmony.lang.reflect.parser.SignatureParser.throwGenericSignatureFormatError(SignatureParser.java:120)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__SIMPLE_CLASS_TYPE_SIGNATURE(SignatureParser.java:1630)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__REFERENCE(SignatureParser.java:1382)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__CLASS_TYPE_SIGNATURE(SignatureParser.java:969)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__FIELD_TYPE_SIGNATURE(SignatureParser.java:833)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__TYPE_SIGNATURE(SignatureParser.java:1950)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__ARRAY_TYPE_SIGNATURE(SignatureParser.java:1335)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__FIELD_TYPE_SIGNATURE(SignatureParser.java:841)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__TYPE_ARGUMENT(SignatureParser.java:1847)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__TYPE_ARGUMENTS(SignatureParser.java:1793)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__SIMPLE_CLASS_TYPE_SIGNATURE(SignatureParser.java:1575)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__REFERENCE(SignatureParser.java:1382)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__CLASS_TYPE_SIGNATURE(SignatureParser.java:969)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__CLASS_DECL(SignatureParser.java:569)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.pr__DECL(SignatureParser.java:469)
at
org.apache.harmony.lang.reflect.parser.SignatureParser.parseSignature(SignatureParser.java:368)
at
org.apache.harmony.lang.reflect.parser.Parser.parseSignature(Parser.java:57)
at
org.apache.harmony.lang.reflect.parser.Parser.getGenericSuperClass(Parser.java:805)
at java.lang.Class$GACache.getGenericSuperclass(Class.java:1395)
at java.lang.Class.getGenericSuperclass(Class.java:1056)
at Harmony5752.main(Harmony5752.java:9)
[1] https://issues.apache.org/jira/browse/HARMONY-5752