123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
-
- import org.aspectj.testing.*;
-
- // todo: package-qualified calls
- /** PR651 PUREJAVA qualified super method calls */
- public class QualifiedSuperCall {
- public static void main (String[] args) {
- Super s;
- s = new Super();
- Tester.check(null != s, "new Super()");
- s = new Sub();
- Tester.check(null != s, "new Sub()");
- s = new UnqualifiedSub();
- Tester.check(null != s, "new UnqualifiedSub()");
- s = new SubSub();
- Tester.check(null != s, "new SubSub()");
- s = new UnqualifiedSubSub();
- Tester.check(null != s, "new UnqualifiedSubSub()");
- s = new Mid();
- Tester.check(null != s, "new Mid()");
- s = new SubMid();
- Tester.check(null != s, "new SubMid()");
- s = new UnqualifiedSubMid();
- Tester.check(null != s, "new UnqualifiedSubMid()");
- }
- static {
- Tester.m("Super.duper=Sub()");
- Tester.m("Super.duper=UnqualifiedSub()");
- Tester.m("Super.duper=SubSub()");
- Tester.m("Super.duper=UnqualifiedSubSub()");
- Tester.m("Super.duper=SubMid()");
- Tester.m("Mid.duper=SubMid()");
- Tester.m("Mid.duper=UnqualifiedSubMid()");
- }
-
- }
-
- class Super {
- Super() {}
- void duper(String caller) {
- Tester.event("Super.duper=" + caller);
- }
- }
-
- class Sub extends Super {
- Sub() {
- Super.super();
- Super.super.duper("Sub()");
- }
- }
- class UnqualifiedSub extends Super {
- UnqualifiedSub() {
- super();
- super.duper("UnqualifiedSub()");
- }
- }
-
- class SubSub extends Sub {
- SubSub() {
- Sub.super();
- Sub.super.duper("SubSub()");
- }
- }
- class UnqualifiedSubSub extends UnqualifiedSub {
- UnqualifiedSubSub() {
- super();
- super.duper("UnqualifiedSubSub()");
- }
- }
-
- class Mid extends Super {
- Mid() { }
- void duper(String caller) {
- Tester.event("Mid.duper=" + caller);
- }
- }
-
- class SubMid extends Mid {
- SubMid() {
- Mid.super(); // XXX illegal ordering?
- Super.super();
- Super.super.duper("SubMid()");
- Mid.super.duper("SubMid()");
- }
- }
- class UnqualifiedSubMid extends Mid {
- UnqualifiedSubMid() {
- super();
- super.duper("UnqualifiedSubMid()");
- }
- }
-
|