rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
branchclosure
changeset 1535 c02c6d409461
parent 1534 ca538fb33f48
child 1543 bafa63ac44a2
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Tue May 06 10:08:42 2014 +0200
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Tue May 06 11:12:40 2014 +0200
     1.3 @@ -2147,9 +2147,14 @@
     1.4              dims.insert(1, smapper.popI());
     1.5          }
     1.6          dims.append(']');
     1.7 +        String fn = "null";
     1.8 +        if (typeName.charAt(dim) == 'L') {
     1.9 +            fn = "vm." + mangleClassName(typeName.substring(dim + 1, typeName.length() - 1));
    1.10 +        }
    1.11          emit(smapper, this, 
    1.12 -            "var @2 = Array.prototype['multiNewArray__Ljava_lang_Object_2Ljava_lang_String_2_3II']('@3', @1, 0);",
    1.13 -             dims.toString(), smapper.pushA(), typeName);
    1.14 +            "var @2 = Array.prototype['multiNewArray__Ljava_lang_Object_2Ljava_lang_String_2_3ILjava_lang_Object_2']('@3', @1, @4);",
    1.15 +             dims.toString(), smapper.pushA(), typeName, fn
    1.16 +        );
    1.17          return i;
    1.18      }
    1.19