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