1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Copyright 2008 The Android Open Source Project 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.Serializable; 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Arrays; 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/** 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Exercise some class-related instructions. 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class Classes { 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int mSome; 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void subFunc(boolean wantSub) { 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!wantSub); 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project void checkCast(Object thisRef, Object moreRef, Object nullRef) { 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project System.out.println("Classes.checkCast"); 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Classes classes; 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project MoreClasses more; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project classes = (Classes) thisRef; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(thisRef instanceof Classes); 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project classes = (Classes) moreRef; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(moreRef instanceof Classes); 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project more = (MoreClasses) moreRef; 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(moreRef instanceof MoreClasses); 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(thisRef instanceof MoreClasses)); 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project more = (MoreClasses) thisRef; 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(false); 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (ClassCastException cce) { 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //System.out.println(" class cast msg: " + cce.getMessage()); 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //Dalvik throws terser message than Hotspot VM 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(cce.getMessage().regionMatches(false, 0, "Classes", 0, 7)); 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(thisRef instanceof MoreClasses)); 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /* hopefully these classes cause a resolve */ 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project java.math.RoundingMode mode = (java.math.RoundingMode) thisRef; 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(false); 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (ClassCastException cce) { 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //System.out.println(" class cast msg: " + cce.getMessage()); 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //Dalvik throws terser message than Hotspot VM 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(cce.getMessage().regionMatches(false, 0, "Classes", 0, 7)); 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(thisRef instanceof java.math.BigDecimal)); 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /* try some stuff with a null reference */ 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project classes = (Classes) nullRef; 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project classes = (MoreClasses) nullRef; 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project more = (MoreClasses) nullRef; 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(nullRef instanceof Classes)); 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static void xTests(Object x) { 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( x instanceof Classes); 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(x instanceof MoreClasses)); 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static void yTests(Object y) { 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( y instanceof Classes); 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( y instanceof MoreClasses); 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static void xarTests(Object xar) { 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( xar instanceof Object); 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(xar instanceof Classes)); 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( xar instanceof Classes[]); 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(xar instanceof MoreClasses[])); 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( xar instanceof Object[]); 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(xar instanceof Object[][])); 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static void yarTests(Object yar) { 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( yar instanceof Classes[]); 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( yar instanceof MoreClasses[]); 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static void xarararTests(Object xararar) { 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( xararar instanceof Object); 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( xararar instanceof Object[]); 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(xararar instanceof Classes)); 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(xararar instanceof Classes[])); 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(xararar instanceof Classes[][])); 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( xararar instanceof Classes[][][]); 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(xararar instanceof MoreClasses[][][])); 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( xararar instanceof Object[][][]); 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( xararar instanceof Serializable); 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( xararar instanceof Serializable[]); 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( xararar instanceof Serializable[][]); 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(xararar instanceof Serializable[][][])); 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static void yarararTests(Object yararar) { 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( yararar instanceof Classes[][][]); 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( yararar instanceof MoreClasses[][][]); 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static void iarTests(Object iar) { 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( iar instanceof Object); 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(iar instanceof Object[])); 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static void iararTests(Object iarar) { 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( iarar instanceof Object); 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert( iarar instanceof Object[]); 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(!(iarar instanceof Object[][])); 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /* 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Exercise filled-new-array and test instanceof on arrays. 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * We call out instead of using "instanceof" directly to avoid 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * compiler optimizations. 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project static void arrayInstance() { 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project System.out.println("Classes.arrayInstance"); 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Classes x = new Classes(); 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Classes[] xar = new Classes[1]; 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Classes[][] xarar = new Classes[1][1]; 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Classes[][][] xararar = new Classes[1][2][3]; 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project MoreClasses y = new MoreClasses(); 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project MoreClasses[] yar = new MoreClasses[3]; 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project MoreClasses[][] yarar = new MoreClasses[2][3]; 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project MoreClasses[][][] yararar = new MoreClasses[1][2][3]; 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int[] iar = new int[1]; 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int[][] iarar = new int[1][1]; 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Object test; 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project xTests(x); 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yTests(y); 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project xarTests(xar); 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yarTests(yar); 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project xarararTests(xararar); 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yarararTests(yararar); 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project iarTests(iar); 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project iararTests(iarar); 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yararar[0] = yarar; 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yararar[0][0] = yar; 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yararar[0][1] = yar; 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yararar[0][0][0] = y; 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yararar[0][0][1] = y; 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yararar[0][0][2] = y; 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yararar[0][1][0] = y; 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yararar[0][1][1] = y; 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project yararar[0][1][2] = y; 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String strForm; 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String[][][][] multi1 = new String[2][3][2][1]; 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi1[0] = new String[2][3][2]; 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi1[0][1] = new String[3][2]; 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi1[0][1][2] = new String[2]; 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi1[0][1][2][1] = "HELLO-1"; 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project strForm = Arrays.deepToString(multi1); 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String[][][][][] multi2 = new String[5][2][3][2][1]; 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi2[0] = new String[5][2][3][2]; 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi2[0][1] = new String[5][2][3]; 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi2[0][1][2] = new String[5][2]; 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi2[0][1][2][1] = new String[5]; 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi2[0][1][2][1][4] = "HELLO-2"; 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project strForm = Arrays.deepToString(multi2); 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String[][][][][][] multi3 = new String[2][5][2][3][2][1]; 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi3[0] = new String[2][][][][]; 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi3[0][1] = new String[3][][][]; 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi3[0][1][2] = new String[2][][]; 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi3[0][1][2][1] = new String[5][]; 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi3[0][1][2][1][4] = new String[2]; 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi3[0][1][2][1][4][1] = "HELLO-3"; 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project strForm = Arrays.deepToString(multi3); 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // build up pieces 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String[][][][][][] multi4 = new String[1][][][][][]; 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi4[0] = new String[2][][][][]; 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi4[0][1] = new String[3][][][]; 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi4[0][1][2] = new String[2][][]; 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi4[0][1][2][1] = new String[5][]; 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi4[0][1][2][1][4] = new String[2]; 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project multi4[0][1][2][1][4][1] = "HELLO-4"; 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project strForm = Arrays.deepToString(multi4); 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /* this is expected to fail; 1073921584 * 4 overflows 32 bits */ 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String[][][][][] multiX = new String[5][2][3][2][1073921584]; 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(false); 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Error e) { 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //System.out.println(" Got expected failure: " + e); 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public static void run() { 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Classes classes = new Classes(); 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project MoreClasses more = new MoreClasses(); 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project classes.checkCast(classes, more, null); 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project more.subFunc(true); 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project more.superFunc(false); 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project arrayInstance(); 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectclass MoreClasses extends Classes { 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int mMore; 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public MoreClasses() {} 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void subFunc(boolean wantSub) { 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assert(wantSub); 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void superFunc(boolean wantSub) { 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.subFunc(wantSub); 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 220