I'm looking there at the moment... Really need to replace that crappy
awkward "parser", but I hope to get off with a simple patch this time.
--
Alexey
2008/4/22, Tim Ellison <[EMAIL PROTECTED]>:
> 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
>