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

Reply via email to