xref: /aosp_15_r20/art/test/003-omnibus-opcodes/src/UnresTest2.java (revision 795d594fd825385562da6b089ea9b2033f3abf5a)
1*795d594fSAndroid Build Coastguard Worker /*
2*795d594fSAndroid Build Coastguard Worker  * Test failure to resolve classes.
3*795d594fSAndroid Build Coastguard Worker  */
4*795d594fSAndroid Build Coastguard Worker class UnresTest2 {
5*795d594fSAndroid Build Coastguard Worker     /*
6*795d594fSAndroid Build Coastguard Worker      * Try check-cast and instance-of.
7*795d594fSAndroid Build Coastguard Worker      */
checkCasts(Object obj)8*795d594fSAndroid Build Coastguard Worker     static boolean checkCasts(Object obj) {
9*795d594fSAndroid Build Coastguard Worker         boolean foo = false;
10*795d594fSAndroid Build Coastguard Worker 
11*795d594fSAndroid Build Coastguard Worker         try {
12*795d594fSAndroid Build Coastguard Worker             UnresClass un = (UnresClass) obj;
13*795d594fSAndroid Build Coastguard Worker             Main.assertTrue(false);
14*795d594fSAndroid Build Coastguard Worker         } catch (NoClassDefFoundError ncdfe) {
15*795d594fSAndroid Build Coastguard Worker             // good
16*795d594fSAndroid Build Coastguard Worker         }
17*795d594fSAndroid Build Coastguard Worker         try {
18*795d594fSAndroid Build Coastguard Worker             foo = obj instanceof UnresClass;
19*795d594fSAndroid Build Coastguard Worker             Main.assertTrue(false);
20*795d594fSAndroid Build Coastguard Worker         } catch (NoClassDefFoundError ncdfe) {
21*795d594fSAndroid Build Coastguard Worker             // good
22*795d594fSAndroid Build Coastguard Worker         }
23*795d594fSAndroid Build Coastguard Worker 
24*795d594fSAndroid Build Coastguard Worker         return foo;
25*795d594fSAndroid Build Coastguard Worker     }
26*795d594fSAndroid Build Coastguard Worker 
run()27*795d594fSAndroid Build Coastguard Worker     public static void run() {
28*795d594fSAndroid Build Coastguard Worker         System.out.println("UnresTest2...");
29*795d594fSAndroid Build Coastguard Worker         UnresClass un;
30*795d594fSAndroid Build Coastguard Worker         UnresStuff stuff = new UnresStuff();
31*795d594fSAndroid Build Coastguard Worker 
32*795d594fSAndroid Build Coastguard Worker         try {
33*795d594fSAndroid Build Coastguard Worker             un = new UnresClass();
34*795d594fSAndroid Build Coastguard Worker             Main.assertTrue(false);
35*795d594fSAndroid Build Coastguard Worker         } catch (NoClassDefFoundError ncdfe) {
36*795d594fSAndroid Build Coastguard Worker             Main.assertTrue(ncdfe.getCause() instanceof ClassNotFoundException);
37*795d594fSAndroid Build Coastguard Worker             // good
38*795d594fSAndroid Build Coastguard Worker         }
39*795d594fSAndroid Build Coastguard Worker 
40*795d594fSAndroid Build Coastguard Worker         try {
41*795d594fSAndroid Build Coastguard Worker             new UnresClassSubclass();
42*795d594fSAndroid Build Coastguard Worker             Main.assertTrue(false);
43*795d594fSAndroid Build Coastguard Worker         } catch (NoClassDefFoundError ncdfe) {
44*795d594fSAndroid Build Coastguard Worker             // TODO b/22080519
45*795d594fSAndroid Build Coastguard Worker             // Main.assertTrue(ncdfe.getCause() instanceof ClassNotFoundException);
46*795d594fSAndroid Build Coastguard Worker             // good
47*795d594fSAndroid Build Coastguard Worker         }
48*795d594fSAndroid Build Coastguard Worker 
49*795d594fSAndroid Build Coastguard Worker         try {
50*795d594fSAndroid Build Coastguard Worker             UnresClass[] uar = new UnresClass[3];
51*795d594fSAndroid Build Coastguard Worker             Main.assertTrue(false);
52*795d594fSAndroid Build Coastguard Worker         } catch (NoClassDefFoundError ncdfe) {
53*795d594fSAndroid Build Coastguard Worker             // good
54*795d594fSAndroid Build Coastguard Worker         }
55*795d594fSAndroid Build Coastguard Worker 
56*795d594fSAndroid Build Coastguard Worker         checkCasts(stuff);
57*795d594fSAndroid Build Coastguard Worker         System.out.println("UnresTest2 done");
58*795d594fSAndroid Build Coastguard Worker     }
59*795d594fSAndroid Build Coastguard Worker }
60