12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import org.aspectj.testing.Tester;
-
- public class MultiInheritCP {
- public static void main(String[] args) {
- C c = new C();
- Tester.checkEqual(c.fromRoot(), "Root");
- Tester.checkEqual(c.toString(), "I1");
- Tester.checkEqual(c.fromI2(), "I2");
- Tester.checkEqual(c.fromIRoot0(), "IRoot");
- Tester.checkEqual(c.fromIRoot1(), "I1");
- Tester.checkEqual(c.fromIRoot2(), "I2");
- }
- }
-
- abstract class Root {
- public String fromRoot() { return "Root"; }
- public abstract String fromI2();
- }
-
- class C extends Root implements I1, I2 {
- }
-
- interface IRoot {
- }
-
- interface I1 extends IRoot {
- public String fromRoot();
- }
-
- interface I2 extends IRoot {
- }
-
-
- aspect A {
- public String IRoot.fromIRoot0() { return "IRoot"; }
- public String IRoot.fromIRoot1() { return "IRoot"; }
- public String IRoot.fromIRoot2() { return "IRoot"; }
-
-
- public String I1.toString() { return "I1"; }
- public abstract String I2.toString();
- public String I2.fromI2() { return "I2"; }
-
- public String I1.fromIRoot1() { return "I1"; }
- public String I2.fromIRoot2() { return "I2"; }
- }
|