Mads Ager | 418d1ca | 2017-05-22 09:35:49 +0200 | [diff] [blame] | 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 | |
| 18 | public static void printArray(int[] array) { |
| 19 | for (int i : array) System.out.println(i); |
| 20 | } |
| 21 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | } |