diff -r ff9e65d1748b -r 62dd2c794431 vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Mon Jan 21 15:56:54 2013 +0100 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Thu Jan 24 00:11:04 2013 +0100 @@ -1416,8 +1416,12 @@ String[] classRef = { null }; String s = jc.stringValue(entryIndex, classRef); if (classRef[0] != null) { - addReference(classRef[0]); - s = accessClass(s.replace('/', '_')) + "(false).constructor.$class"; + if (classRef[0].startsWith("[")) { + s = accessClass("java_lang_Class") + "(false).forName__Ljava_lang_Class_2Ljava_lang_String_2('" + classRef[0] + "');"; + } else { + addReference(classRef[0]); + s = accessClass(s.replace('/', '_')) + "(false).constructor.$class"; + } } return s; }