diff options
Diffstat (limited to 'tests/new/declareParents/Driver.java')
-rw-r--r-- | tests/new/declareParents/Driver.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/new/declareParents/Driver.java b/tests/new/declareParents/Driver.java new file mode 100644 index 000000000..ec70d26a1 --- /dev/null +++ b/tests/new/declareParents/Driver.java @@ -0,0 +1,33 @@ +import org.aspectj.testing.Tester; + +public class Driver { + public static void main(String[] args) { test(); } + + public static void test() { + + C c = new C(); + D d = new D(); + E e = new E(); + + Tester.check( c instanceof A, "C should extend A"); + Tester.check( c instanceof B, "Declare parents threw away superclass info: C should extend B"); + + Tester.check( d instanceof A, "D should extend A"); + Tester.check( e instanceof A, "E should extend A"); + + } + + + static class A {}; + static class B extends A {}; + static class C extends B {}; + + static class D {}; + static class E extends D {}; + + static aspect Adoption { + declare parents : C extends A; + declare parents : D extends A; + }; +} + |