mirror of
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-09-03 05:54:57 +02:00
41 lines
776 B
Java
41 lines
776 B
Java
import org.aspectj.testing.Tester;
|
|
|
|
// PR#211
|
|
|
|
public class Driver {
|
|
public static String s = "s";
|
|
|
|
public static void main(String[] args) { test(); }
|
|
|
|
public static void test() {
|
|
doIt();
|
|
Tester.checkEqual(s, "s:a:b", "both advice worked");
|
|
}
|
|
|
|
public static String doIt() {
|
|
return s;
|
|
}
|
|
}
|
|
|
|
aspect Outer {
|
|
static int N = 10;
|
|
|
|
pointcut staticMeth(): within(Driver) && execution(String doIt());
|
|
|
|
static aspect Inner {
|
|
static void foo() {
|
|
int i = N;
|
|
}
|
|
|
|
before(): staticMeth() {
|
|
Driver.s += ":b";
|
|
}
|
|
|
|
pointcut innerPoints(): within(Driver) && execution(void test());
|
|
}
|
|
|
|
before(): Outer.Inner.innerPoints() {
|
|
Driver.s += ":a";
|
|
}
|
|
}
|