QualifiedThisAndSuper_3.java revision 0
0N/A * Copyright 1998 Sun Microsystems, Inc. All Rights Reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 0N/A * published by the Free Software Foundation. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 0N/A * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 0N/A * CA 95054 USA or visit www.sun.com if you need additional information or 0N/A * have any questions. 0N/A * @summary Verify correct implementation of qualified 'this' and 'super'. 0N/A * @run main QualifiedThisAndSuper_3 0N/A public class B
extends BS {
0N/A public class C
extends CS {
0N/A // Private to another package-member class: not accessible 0N/A // check("QualifiedThisAndSuper_3.super.xn()", QualifiedThisAndSuper_3.super.xn(), "xasn"); 0N/A // Private to another package-member class: not accessible 0N/A // check("QualifiedThisAndSuper_3.super.xt", QualifiedThisAndSuper_3.super.xt, "xast"); 0N/A check(
"B.super.m()", B.
super.m(),
"bsm");
0N/A check(
"C.super.m()", C.
super.m(),
"csm");
0N/A // should re-use access methods. 0N/A check(
"B.super.m()", B.
super.m(),
"bsm");
0N/A check(
"C.super.m()", C.
super.m(),
"csm");
0N/A check("super.n()", super.n(), "csn"); 0N/A check("QualifiedThisAndSuper_3.super.n()", QualifiedThisAndSuper_3.super.n(), "asn"); 0N/A check("B.super.n()", B.super.n(), "bsn"); 0N/A check("C.super.n()", C.super.n(), "csn"); 0N/A // should re-use access methods. 0N/A check("QualifiedThisAndSuper_3.super.n()", QualifiedThisAndSuper_3.super.n(), "asn"); 0N/A check("B.super.n()", B.super.n(), "bsn"); 0N/A check("C.super.n()", C.super.n(), "csn"); 0N/A check(
"B.super.o()", B.
super.o(),
"bso");
0N/A check(
"C.super.o()", C.
super.o(),
"cso");
0N/A // should re-use access methods. 0N/A check(
"B.super.o()", B.
super.o(),
"bso");
0N/A check(
"C.super.o()", C.
super.o(),
"cso");
0N/A check("super.t", super.t, "cst"); 0N/A check("QualifiedThisAndSuper_3.super.t", QualifiedThisAndSuper_3.super.t, "ast"); 0N/A check("B.super.t", B.super.t, "bst"); 0N/A check("C.super.t", C.super.t, "cst"); 0N/A QualifiedThisAndSuper_3.super.t = "foo"; 0N/A System.out.println(QualifiedThisAndSuper_3.super.t); 0N/A check("QualifiedThisAndSuper_3.super.t", QualifiedThisAndSuper_3.super.t, "foo"); 0N/A System.out.println(B.super.t); 0N/A check("B.super.t", B.super.t, "bar"); 0N/A System.out.println(C.super.t); 0N/A check("C.super.t", C.super.t, "baz");