peilaus alkaen
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-08-27 05:54:38 +02:00
53 rivejä
1.3 KiB
Java
53 rivejä
1.3 KiB
Java
import org.aspectj.testing.Tester;
|
|
public class AbstractAspectsExtendingAbstractAspectsGeneratesMethodsWithTheSameName_PR464 {
|
|
public static void main(String[] args) {
|
|
new AbstractAspectsExtendingAbstractAspectsGeneratesMethodsWithTheSameName_PR464().realMain(args);
|
|
}
|
|
public void realMain(String[] args) {
|
|
new C().c();
|
|
// No tests to actually run. The point is that all advice is abstract!
|
|
//Tester.checkAllEvents();
|
|
}
|
|
static {
|
|
//Tester.expectEventsInString("AspectA.star,AspectA.c");
|
|
//Tester.expectEventsInString("AspectB.star,AspectB.c");
|
|
//Tester.expectEventsInString("AspectC.star,AspectC.c");
|
|
}
|
|
}
|
|
|
|
class C {
|
|
public void c() {}
|
|
}
|
|
|
|
abstract aspect AspectA {
|
|
before() : execution(* *(..)) {
|
|
Tester.event("AspectA.star");
|
|
}
|
|
|
|
before() : execution(* c(..)) {
|
|
Tester.event("AspectA.c");
|
|
}
|
|
}
|
|
|
|
abstract aspect AspectB extends AspectA {
|
|
|
|
before() : execution(* *(..)) {
|
|
Tester.event("AspectB.star");
|
|
}
|
|
|
|
before() : execution(* c(..)) {
|
|
Tester.event("AspectB.c");
|
|
}
|
|
}
|
|
|
|
abstract aspect AspectC extends AspectB {
|
|
before() : execution(* *(..)) {
|
|
Tester.event("AspectC.star");
|
|
}
|
|
|
|
before() : execution(* c(..)) {
|
|
Tester.event("AspectC.c");
|
|
}
|
|
}
|
|
|