xref: /aosp_15_r20/dalvik/dx/tests/073-dex-null-array-refs/Blort.java (revision 055d459012065f78d96b68be8421640240ddf631)
1*055d4590SKeyi Gui /*
2*055d4590SKeyi Gui  * Copyright (C) 2007 The Android Open Source Project
3*055d4590SKeyi Gui  *
4*055d4590SKeyi Gui  * Licensed under the Apache License, Version 2.0 (the "License");
5*055d4590SKeyi Gui  * you may not use this file except in compliance with the License.
6*055d4590SKeyi Gui  * You may obtain a copy of the License at
7*055d4590SKeyi Gui  *
8*055d4590SKeyi Gui  *      http://www.apache.org/licenses/LICENSE-2.0
9*055d4590SKeyi Gui  *
10*055d4590SKeyi Gui  * Unless required by applicable law or agreed to in writing, software
11*055d4590SKeyi Gui  * distributed under the License is distributed on an "AS IS" BASIS,
12*055d4590SKeyi Gui  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*055d4590SKeyi Gui  * See the License for the specific language governing permissions and
14*055d4590SKeyi Gui  * limitations under the License.
15*055d4590SKeyi Gui  */
16*055d4590SKeyi Gui 
17*055d4590SKeyi Gui public class Blort
18*055d4590SKeyi Gui {
test1()19*055d4590SKeyi Gui     public static Object test1() {
20*055d4590SKeyi Gui         return ((Object[]) null)[0];
21*055d4590SKeyi Gui     }
22*055d4590SKeyi Gui 
test2()23*055d4590SKeyi Gui     public static void test2() {
24*055d4590SKeyi Gui         ((Object[]) null)[0] = null;
25*055d4590SKeyi Gui     }
26*055d4590SKeyi Gui 
test3()27*055d4590SKeyi Gui     public static int test3() {
28*055d4590SKeyi Gui         return ((Object[]) null).length;
29*055d4590SKeyi Gui     }
30*055d4590SKeyi Gui 
test4()31*055d4590SKeyi Gui     public static Object test4() {
32*055d4590SKeyi Gui         Object[] arr = null;
33*055d4590SKeyi Gui         return arr[0];
34*055d4590SKeyi Gui     }
35*055d4590SKeyi Gui 
test5()36*055d4590SKeyi Gui     public static void test5() {
37*055d4590SKeyi Gui         Object[] arr = null;
38*055d4590SKeyi Gui         arr[0] = null;
39*055d4590SKeyi Gui     }
40*055d4590SKeyi Gui 
test6()41*055d4590SKeyi Gui     public static int test6() {
42*055d4590SKeyi Gui         Object[] arr = null;
43*055d4590SKeyi Gui         return arr.length;
44*055d4590SKeyi Gui     }
45*055d4590SKeyi Gui 
test7(Object[] arr)46*055d4590SKeyi Gui     public static Object test7(Object[] arr) {
47*055d4590SKeyi Gui         if (check()) {
48*055d4590SKeyi Gui             arr = null;
49*055d4590SKeyi Gui         }
50*055d4590SKeyi Gui 
51*055d4590SKeyi Gui         return arr[0];
52*055d4590SKeyi Gui     }
53*055d4590SKeyi Gui 
test8(Object[] arr)54*055d4590SKeyi Gui     public static void test8(Object[] arr) {
55*055d4590SKeyi Gui         if (check()) {
56*055d4590SKeyi Gui             arr = null;
57*055d4590SKeyi Gui         }
58*055d4590SKeyi Gui 
59*055d4590SKeyi Gui         arr[0] = null;
60*055d4590SKeyi Gui     }
61*055d4590SKeyi Gui 
test9(Object[] arr)62*055d4590SKeyi Gui     public static int test9(Object[] arr) {
63*055d4590SKeyi Gui         if (check()) {
64*055d4590SKeyi Gui             arr = null;
65*055d4590SKeyi Gui         }
66*055d4590SKeyi Gui 
67*055d4590SKeyi Gui         return arr.length;
68*055d4590SKeyi Gui     }
69*055d4590SKeyi Gui 
check()70*055d4590SKeyi Gui     public static boolean check() {
71*055d4590SKeyi Gui         return true;
72*055d4590SKeyi Gui     }
73*055d4590SKeyi Gui }
74