blob: b6523244aa181130982501d79bc8f6aaac274ee9 [file] [log] [blame]
Mads Ager418d1ca2017-05-22 09:35:49 +02001// 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.
4package newarray;
5
6class 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}