vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
changeset 567 62dd2c794431
parent 509 ff9e65d1748b
child 571 62c327a1e23f
     1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Mon Jan 21 15:56:54 2013 +0100
     1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Thu Jan 24 00:11:04 2013 +0100
     1.3 @@ -1416,8 +1416,12 @@
     1.4          String[] classRef = { null };
     1.5          String s = jc.stringValue(entryIndex, classRef);
     1.6          if (classRef[0] != null) {
     1.7 -            addReference(classRef[0]);
     1.8 -            s = accessClass(s.replace('/', '_')) + "(false).constructor.$class";
     1.9 +            if (classRef[0].startsWith("[")) {
    1.10 +                s = accessClass("java_lang_Class") + "(false).forName__Ljava_lang_Class_2Ljava_lang_String_2('" + classRef[0] + "');";
    1.11 +            } else {
    1.12 +                addReference(classRef[0]);
    1.13 +                s = accessClass(s.replace('/', '_')) + "(false).constructor.$class";
    1.14 +            }
    1.15          }
    1.16          return s;
    1.17      }