1 // Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file 2 // for details. All rights reserved. Use of this source code is governed by a 3 // BSD-style license that can be found in the LICENSE file. 4 package newarray; 5 6 class NewArray { 7 8 static class A { 9 int v0; 10 int v1; 11 int v2; 12 int v3; 13 int v4; 14 int v5; 15 int v6; 16 } 17 printArray(int[] array)18 public static void printArray(int[] array) { 19 for (int i : array) System.out.println(i); 20 } 21 test()22 public static void test() { 23 int x0[] = new int[]{}; 24 int x1[] = new int[]{0}; 25 int x2[] = new int[]{0, 1}; 26 int x3[] = new int[]{0, 1, 2}; 27 int x4[] = new int[]{0, 1, 2, 3}; 28 int x5[] = new int[]{0, 1, 2, 3, 4}; 29 int x6[] = new int[]{0, 1, 2, 3, 4, 5}; 30 int x7[] = new int[]{0, 1, 2, 3, 4, 5, 6}; 31 int x8[] = new int[]{0, 1, 2, 3, 4, 5, 6, 7}; 32 int x9[] = new int[]{0, 1, 0, 3, 4, 0, 6, 7}; 33 printArray(x0); 34 printArray(x1); 35 printArray(x2); 36 printArray(x3); 37 printArray(x4); 38 printArray(x5); 39 printArray(x6); 40 printArray(x7); 41 printArray(x8); 42 printArray(x9); 43 } 44 testIntArgs(int v0, int v1, int v2, int v3, int v4, int v5)45 public static void testIntArgs(int v0, int v1, int v2, int v3, int v4, int v5) { 46 int x0[] = new int[]{}; 47 int x1[] = new int[]{v0}; 48 int x2[] = new int[]{v0, v1}; 49 int x3[] = new int[]{v0, v1, v2}; 50 int x4[] = new int[]{v0, v1, v2, v3}; 51 int x5[] = new int[]{v0, v1, v2, v3, v4}; 52 int x6[] = new int[]{v0, v1, v2, v3, v4, v5}; 53 int x7[] = new int[]{v0, v1, v2, v3, v4, v5, v0, v1, v0, v4, v0}; 54 printArray(x0); 55 printArray(x1); 56 printArray(x2); 57 printArray(x3); 58 printArray(x4); 59 printArray(x5); 60 printArray(x6); 61 printArray(x7); 62 } 63 testObjectArg(A a)64 public static void testObjectArg(A a) { 65 int x0[] = new int[]{}; 66 int x1[] = new int[]{a.v0}; 67 int x2[] = new int[]{a.v0, a.v1}; 68 int x3[] = new int[]{a.v0, a.v1, a.v2}; 69 int x4[] = new int[]{a.v0, a.v1, a.v2, a.v3}; 70 int x5[] = new int[]{a.v0, a.v1, a.v2, a.v3, a.v4}; 71 int x6[] = new int[]{a.v0, a.v1, a.v2, a.v3, a.v4, a.v5}; 72 int x7[] = new int[]{a.v0, a.v1, a.v2, a.v3, a.v4, a.v5, a.v6}; 73 int x8[] = new int[]{a.v0, a.v1, a.v2, a.v0, a.v3, a.v4, a.v5, a.v6}; 74 printArray(x0); 75 printArray(x1); 76 printArray(x2); 77 printArray(x3); 78 printArray(x4); 79 printArray(x5); 80 printArray(x6); 81 printArray(x7); 82 printArray(x8); 83 } 84 newMultiDimensionalArrays(int n)85 public static void newMultiDimensionalArrays(int n) { 86 int[][] i2 = new int[n][n]; 87 int[][][] i3 = new int[n][n][n]; 88 int[][][][] i4 = new int[n][n][n][n]; 89 int[][][][][] i5 = new int[n][n][n][n][n]; 90 int[][][][][][] i6 = new int[n][n][n][n][n][n]; 91 System.out.println(i2.length); 92 System.out.println(i3.length); 93 System.out.println(i4.length); 94 System.out.println(i5.length); 95 System.out.println(i6.length); 96 } 97 newMultiDimensionalArrays2(int n1, int n2, int n3, int n4, int n5, int n6)98 public static void newMultiDimensionalArrays2(int n1, int n2, int n3, int n4, int n5, int n6) { 99 int[][] i2 = new int[n1][n2]; 100 System.out.println(i2.length); 101 int[][][] i3 = new int[n1][n2][n3]; 102 System.out.println(i3.length); 103 int[][][][] i4 = new int[n1][n2][n3][n4]; 104 System.out.println(i4.length); 105 int[][][][][] i5 = new int[n1][n2][n3][n4][n5]; 106 System.out.println(i5.length); 107 int[][][][][][] i6 = new int[n1][n2][n3][n4][n5][n6]; 108 System.out.println(i6.length); 109 int[][][][][][] i7 = new int[n1][n2][n1][n4][n5][n1]; 110 System.out.println(i7.length); 111 } 112 newMultiDimensionalArrays3(int n)113 public static void newMultiDimensionalArrays3(int n) { 114 int[][][] i3 = new int[n][n][]; 115 int[][][][] i4 = new int[n][n][][]; 116 int[][][][][][][] i7 = new int[n][n][n][n][n][n][]; 117 int[][][][][][][][] i8 = new int[n][n][n][n][n][n][][]; 118 System.out.println(i3.length); 119 System.out.println(i4.length); 120 System.out.println(i7.length); 121 System.out.println(i8.length); 122 } 123 newMultiDimensionalArrays4()124 public static void newMultiDimensionalArrays4() { 125 boolean[][] a1 = new boolean[1][2]; 126 byte[][] a2 = new byte[3][4]; 127 char[][] a3 = new char[5][6]; 128 short[][] a4 = new short[7][8]; 129 long[][] a5 = new long[9][10]; 130 float[][] a6 = new float[11][12]; 131 double[][] a7 = new double[13][14]; 132 A[][] a8 = new A[15][16]; 133 System.out.println(a1[0].length); 134 System.out.println(a2[0].length); 135 System.out.println(a3[0].length); 136 System.out.println(a4[0].length); 137 System.out.println(a5[0].length); 138 System.out.println(a6[0].length); 139 System.out.println(a7[0].length); 140 System.out.println(a8[0].length); 141 System.out.println(a1[0][0]); 142 System.out.println(a2[0][0]); 143 System.out.println(a3[0][0]); 144 System.out.println(a4[0][0]); 145 System.out.println(a5[0][0]); 146 System.out.println(a6[0][0]); 147 System.out.println(a7[0][0]); 148 System.out.println(a8[0][0]); 149 } 150 main(String[] args)151 public static void main(String[] args) { 152 test(); 153 testIntArgs(0, 1, 2, 3, 4, 5); 154 A a = new A(); 155 a.v0 = 0; 156 a.v1 = 1; 157 a.v2 = 2; 158 a.v3 = 3; 159 a.v4 = 4; 160 a.v5 = 5; 161 a.v6 = 6; 162 testObjectArg(a); 163 newMultiDimensionalArrays(6); 164 newMultiDimensionalArrays2(1, 2, 3, 4, 5, 6); 165 newMultiDimensionalArrays3(8); 166 newMultiDimensionalArrays4(); 167 } 168 }