emul/src/main/java/java/lang/Class.java
brancharrays
changeset 452 086c60adf08e
parent 451 84e6b97c468c
child 517 70c062dbd783
     1.1 --- a/emul/src/main/java/java/lang/Class.java	Tue Jan 15 09:23:46 2013 +0100
     1.2 +++ b/emul/src/main/java/java/lang/Class.java	Tue Jan 15 09:32:11 2013 +0100
     1.3 @@ -147,7 +147,12 @@
     1.4      public static Class<?> forName(String className)
     1.5      throws ClassNotFoundException {
     1.6          if (className.startsWith("[")) {
     1.7 -            return defineArray(className);
     1.8 +            Class<?> arrType = defineArray(className);
     1.9 +            Class<?> c = arrType;
    1.10 +            while (c != null && c.isArray()) {
    1.11 +                c = c.getComponentType0(); // verify component type is sane
    1.12 +            }
    1.13 +            return arrType;
    1.14          }
    1.15          Class<?> c = loadCls(className, className.replace('.', '_'));
    1.16          if (c == null) {