12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- //!!! ugly test case
-
- public class HierarchyIntroductions {
- public static void main(String[] args) { test(); }
-
- static public void test() {
- C1 c1 = new C1();
- I1 i1 = c1;
- C2 c2 = new C2();
- c2.foo();
- c1 = c2;
- I4 i4 = c2;
- I2 i2 = c1;
- }
- }
-
-
- aspect Hierarchy {
- //introduction C1 {
- declare parents: C1 implements I1;
- declare parents: C1 implements I2;
- //}
-
- //introduction C2 {
- declare parents: C2 extends C1;
- //}
-
- //introduction C4 {
- declare parents: C4 extends C3;
- //}
- //introduction C5 {
- declare parents: C5 extends C3a;
- //}
-
- //introduction I2 {
- declare parents: I2 extends I3, I4, I5;
- //}
- }
-
-
- class C1 { public void foo() { } }
- class C2 {}
- class C3 {}
- class C3a extends C3 {}
- class C4 extends C3 {}
- class C5 extends C3 {}
-
- interface I1 {}
- interface I2 {}
- interface I3 {}
- interface I4 {}
- interface I5 {}
|