The order of dimensions was reverted
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Sun, 03 Mar 2013 22:50:02 +0100
changeset 807e93506e603ad
parent 806 178754f29511
child 808 bd8b726902a3
child 810 9eb750594b15
The order of dimensions was reverted
rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
rt/vm/src/test/java/org/apidesign/vm4brwsr/Array.java
rt/vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java
rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareByteArrayTest.java
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Sat Mar 02 17:02:00 2013 +0100
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Sun Mar 03 22:50:02 2013 +0100
     1.3 @@ -994,9 +994,9 @@
     1.4                      dims.append('[');
     1.5                      for (int d = 0; d < dim; d++) {
     1.6                          if (d != 0) {
     1.7 -                            dims.append(",");
     1.8 +                            dims.insert(1, ",");
     1.9                          }
    1.10 -                        dims.append(smapper.popI());
    1.11 +                        dims.insert(1, smapper.popI());
    1.12                      }
    1.13                      dims.append(']');
    1.14                      emit(out, "var @2 = Array.prototype.multiNewArray__Ljava_lang_Object_2Ljava_lang_String_2_3II('@3', @1, 0);",
     2.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/Array.java	Sat Mar 02 17:02:00 2013 +0100
     2.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/Array.java	Sun Mar 03 22:50:02 2013 +0100
     2.3 @@ -132,4 +132,8 @@
     2.4          arraycopy(arr()[0][0].chars, 0, arr, 0, 1);
     2.5          return arr[0];
     2.6      }
     2.7 +    
     2.8 +    public static int multiLen() {
     2.9 +        return new int[1][0].length;
    2.10 +    }
    2.11  }
     3.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java	Sat Mar 02 17:02:00 2013 +0100
     3.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java	Sun Mar 03 22:50:02 2013 +0100
     3.3 @@ -75,6 +75,9 @@
     3.4      @Test public void verifyInstanceOfArray() throws Exception {
     3.5          assertExec("Returns 'false'", Array.class, "instanceOfArray__ZLjava_lang_Object_2", Double.valueOf(0), "non-array");
     3.6      }
     3.7 +    @Test public void verifyMultiLen() throws Exception {
     3.8 +        assertExec("Multi len is one", Array.class, "multiLen__I", Double.valueOf(1));
     3.9 +    }
    3.10      
    3.11      private static TestVM code;
    3.12      
     4.1 --- a/rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareByteArrayTest.java	Sat Mar 02 17:02:00 2013 +0100
     4.2 +++ b/rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareByteArrayTest.java	Sun Mar 03 22:50:02 2013 +0100
     4.3 @@ -68,6 +68,16 @@
     4.4      @Compare public String toOfBoundsMinus() {
     4.5          return toIndex(-1);
     4.6      }
     4.7 +    
     4.8 +    @Compare public int multiArrayLength() {
     4.9 +         int[][] arr = new int[1][0];
    4.10 +         return arr[0].length;
    4.11 +    }
    4.12 +
    4.13 +    @Compare public int multiObjectArrayLength() {
    4.14 +         Object[][] arr = new Object[1][0];
    4.15 +         return arr[0].length;
    4.16 +    }
    4.17  
    4.18      private static final int[] arr = { 0, 1, 2 };
    4.19      public static String atIndex(int at) {