mirror of
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-08-14 02:10:40 +02:00
38 lines
980 B
Java
38 lines
980 B
Java
import org.aspectj.testing.Tester;
|
|
public class OrderOfExtendsPlusAndImplementsPlus {
|
|
public static void main(String[] args) {
|
|
try {
|
|
new OrderOfExtendsPlusAndImplementsPlus().realMain(args);
|
|
} catch (Throwable t) {
|
|
Tester.throwable(t);
|
|
}
|
|
}
|
|
public void realMain(String[] args) throws Exception {
|
|
Class[] cs = new Class[]{C.class, D.class};
|
|
for (int i = 0; i < cs.length; i++) {
|
|
check(cs[i]);
|
|
}
|
|
}
|
|
private void check(Class c) {
|
|
Tester.checkEq(c.getInterfaces()[0], I.class,
|
|
c + " doesn't implement " + I.class);
|
|
Tester.checkEq(c.getSuperclass(), S.class,
|
|
c + " doesn't extend " + S.class);
|
|
}
|
|
}
|
|
|
|
class S {}
|
|
interface I {}
|
|
class C {}
|
|
class D {}
|
|
|
|
aspect A {
|
|
declare parents: C implements I;
|
|
declare parents: C extends S;
|
|
}
|
|
|
|
aspect B {
|
|
declare parents: D extends S;
|
|
declare parents: D implements I;
|
|
}
|