mirror of
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-09-13 15:45:38 +02:00
47 lines
1.1 KiB
Java
47 lines
1.1 KiB
Java
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"; }
|
|
}
|