mirror of
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-08-14 02:10:40 +02:00
43 lines
724 B
Java
43 lines
724 B
Java
|
|
/*
|
|
* To test some stuff
|
|
*/
|
|
|
|
import org.aspectj.testing.*;
|
|
|
|
public class AdviceOnAdvice {
|
|
public static void main(String[] args) {
|
|
new Class1().a();
|
|
Tester.check(Class1.calledB, "Aspect2 did not get advice");
|
|
}
|
|
}
|
|
|
|
class Class1 {
|
|
public void a() { }
|
|
public void b() { }
|
|
public static boolean calledA = false;
|
|
public static boolean calledB = false;
|
|
}
|
|
|
|
|
|
aspect Aspect1 {
|
|
pointcut a(Class1 c1) :
|
|
target(c1) && call(public void a());
|
|
|
|
void around(Class1 c1) : a(c1) {
|
|
proceed(c1);
|
|
c1.b();
|
|
}
|
|
}
|
|
|
|
|
|
aspect Aspect2b {
|
|
|
|
pointcut b() :
|
|
call(public void Class1.b()) && within(Aspect1);
|
|
|
|
after () : b() {
|
|
Class1.calledB = true;
|
|
}
|
|
}
|