1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jan 15 09:32:11 2013 +0100
1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jan 15 09:46:21 2013 +0100
1.3 @@ -945,13 +945,15 @@
1.4 out.append("{ var a0 = new Array(").append(smapper.popI())
1.5 .append(").fillNulls().arrtype('").append(typeName).append("');");
1.6 for (int d = 1; d < dim; d++) {
1.7 + typeName = typeName.substring(1);
1.8 out.append("\n var l" + d).append(" = ")
1.9 .append(smapper.popI()).append(';');
1.10 out.append("\n for (var i" + d).append (" = 0; i" + d).
1.11 append(" < a" + (d - 1)).
1.12 append(".length; i" + d).append("++) {");
1.13 out.append("\n var a" + d).
1.14 - append (" = new Array(l" + d).append(").fillNulls();");
1.15 + append (" = new Array(l" + d).append(").fillNulls().arrtype('")
1.16 + .append(typeName).append("');");
1.17 out.append("\n a" + (d - 1)).append("[i" + d).append("] = a" + d).
1.18 append(";");
1.19 }
2.1 --- a/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java Tue Jan 15 09:32:11 2013 +0100
2.2 +++ b/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java Tue Jan 15 09:46:21 2013 +0100
2.3 @@ -113,6 +113,12 @@
2.4 @Compare public String classGetNameForMultiIntArray() {
2.5 return (new int[3][4][5][6][7][8][9]).getClass().getName();
2.6 }
2.7 + @Compare public String classGetNameForMultiIntArrayInner() {
2.8 + final int[][][][][][][] arr = new int[3][4][5][6][7][8][9];
2.9 + int[][][][][][] subarr = arr[0];
2.10 + int[][][][][] subsubarr = subarr[0];
2.11 + return subsubarr.getClass().getName();
2.12 + }
2.13 @Compare public String classGetNameForMultiStringArray() {
2.14 return (new String[3][4][5][6][7][8][9]).getClass().getName();
2.15 }