1df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden/*
2df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * Copyright (C) 2009 The Android Open Source Project
3df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden *
4df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * Licensed under the Apache License, Version 2.0 (the "License");
5df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * you may not use this file except in compliance with the License.
6df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * You may obtain a copy of the License at
7df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden *
8df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden *      http://www.apache.org/licenses/LICENSE-2.0
9df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden *
10df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * Unless required by applicable law or agreed to in writing, software
11df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * distributed under the License is distributed on an "AS IS" BASIS,
12df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * See the License for the specific language governing permissions and
14df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * limitations under the License.
15df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden */
16df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden
17df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFaddenpublic class Base {
18df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void declaredInBase() {
19df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        System.out.println("declaredInBase: Base");
20df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
21df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden
22df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void overridden() {
23df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        System.out.println("overridden: Base");
24df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
25df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden
26df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    /* src2: removed */
27df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void wasOverridden() {
28df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        System.out.println("wasOverridden: Base");
29df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
30df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden
31df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void callOverrideWithPublic() {
32df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        overrideWithPublic();
33df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
34df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void overrideWithPublic() {
35df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        System.out.println("overrideWithPublic: Base");
36df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
37df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden
38df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void callOverridePublicWithProtected() {
39df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        overridePublicWithProtected();
40df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
41df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    /* src2: public */
42df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    protected void overridePublicWithProtected() {
43df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        System.out.println("overridePublicWithProtected: Base");
44df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
45df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden
46df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void callOverrideProtectedWithPublic() {
47df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        overrideProtectedWithPublic();
48df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
49df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    protected void overrideProtectedWithPublic() {
50df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        System.out.println("overrideProtectedWithPublic: Base");
51df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
52df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden
53df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void callOverridePublicWithPrivate() {
54df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        overridePublicWithPrivate();
55df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
56df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    /* src2: public */
57df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    private void overridePublicWithPrivate() {
58df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        System.out.println("overridePublicWithPrivate: Base");
59df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
60df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden
61df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void callOverridePrivateWithPublic() {
62df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        overridePrivateWithPublic();
63df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
64df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    private void overridePrivateWithPublic() {
65df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        System.out.println("overridePrivateWithPublic: Base");
66df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
67df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden
68df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void callOverrideVirtualWithStatic() {
69df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        overrideVirtualWithStatic();
70df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
71df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    /* src2: non-static */
72df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public static void overrideVirtualWithStatic() {
73df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        System.out.println("overrideVirtualWithStatic: Base");
74df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
75df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden
76df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void callOverrideStaticWithVirtual() {
77df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        overrideStaticWithVirtual();
78df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
79df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    /* src2: static */
80df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    public void overrideStaticWithVirtual() {
81df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden        System.out.println("overrideStaticWithVirtual: Base");
82df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden    }
83df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden}
84