diff options
author | aclement <aclement> | 2006-02-02 11:31:58 +0000 |
---|---|---|
committer | aclement <aclement> | 2006-02-02 11:31:58 +0000 |
commit | 5f10ab1ee6592619b75d8f157f937d620f92d698 (patch) | |
tree | 0328e782bd99901e63a52c1ad6d757ed6655ba07 /tests/features151/ataround/A9.java | |
parent | 7a96a40ab7d5418309c4742bdb0225cd0dfb88ff (diff) | |
download | aspectj-5f10ab1ee6592619b75d8f157f937d620f92d698.tar.gz aspectj-5f10ab1ee6592619b75d8f157f937d620f92d698.zip |
@AJ around tests for 126167
Diffstat (limited to 'tests/features151/ataround/A9.java')
-rw-r--r-- | tests/features151/ataround/A9.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/features151/ataround/A9.java b/tests/features151/ataround/A9.java new file mode 100644 index 000000000..97bf674ba --- /dev/null +++ b/tests/features151/ataround/A9.java @@ -0,0 +1,38 @@ +// Bind this and target on execution and change it with proceed +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.*; + +@Aspect +public class A9 { + M newM2 = new M("2"); + M newM3 = new M("3"); + + @Around("execution(void M.method(String)) && args(p) && this(t) && target(t2)") + public void a( ProceedingJoinPoint pjp, M t,String p, M t2) throws Throwable { + System.err.println("advice from ataj aspect"); + pjp.proceed(new Object[]{newM2,"faked",newM3}); + } + + public static void main(String []argv) { + M.main(argv); + } +} + +class M { + + String prefix; + + public M(String prefix) { this.prefix = prefix; } + + public static void main( String[] args ) { + M m = new M("1"); + m.methodCaller("real"); + } + + public void methodCaller(String param) { + method(param); + } + + public void method(String s) { System.err.println(prefix+s); } + +} |