• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 }