diff -r ac05de5a8786 -r 5aca91d00356 vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Mon Jan 14 18:21:48 2013 +0100 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jan 15 09:46:21 2013 +0100 @@ -945,13 +945,15 @@ out.append("{ var a0 = new Array(").append(smapper.popI()) .append(").fillNulls().arrtype('").append(typeName).append("');"); for (int d = 1; d < dim; d++) { + typeName = typeName.substring(1); out.append("\n var l" + d).append(" = ") .append(smapper.popI()).append(';'); out.append("\n for (var i" + d).append (" = 0; i" + d). append(" < a" + (d - 1)). append(".length; i" + d).append("++) {"); out.append("\n var a" + d). - append (" = new Array(l" + d).append(").fillNulls();"); + append (" = new Array(l" + d).append(").fillNulls().arrtype('") + .append(typeName).append("');"); out.append("\n a" + (d - 1)).append("[i" + d).append("] = a" + d). append(";"); }