mirror of
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-08-26 17:58:43 +02:00
43 lines
628 B
Java
43 lines
628 B
Java
|
|
import org.aspectj.testing.Tester;
|
|
|
|
// PR#297 anonymous inner class with aspect
|
|
|
|
public class Driver {
|
|
|
|
public static String s = "";
|
|
|
|
public static void main(String[] args){
|
|
new Test().go();
|
|
Tester.checkEqual(s, "-bar-after", "");
|
|
}
|
|
|
|
}
|
|
|
|
class Test {
|
|
void go(){
|
|
seto( new I(){
|
|
public void foo(){ bar(); }
|
|
});
|
|
o.foo();
|
|
}
|
|
|
|
void bar(){
|
|
Driver.s += "-bar";
|
|
}
|
|
I o;
|
|
|
|
void seto(I o){
|
|
this.o = o;
|
|
}
|
|
}
|
|
|
|
interface I { void foo(); }
|
|
|
|
aspect A {
|
|
void around(): this(I) && target(Test) && within(Test) && call(* bar()){
|
|
proceed();
|
|
Driver.s += "-after";
|
|
}
|
|
}
|