blob: ec70d26a11403bfb07cfd07702f8a753088af012 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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;
};
}
|