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