diff options
author | acolyer <acolyer> | 2006-05-02 17:02:25 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2006-05-02 17:02:25 +0000 |
commit | 18c308fb3c26227f7cae5ad728d3565079edd4b5 (patch) | |
tree | 9028307185ac9c8632cd402df99583b641fcab81 /tests/bugs152 | |
parent | c5c18aaea1700d75e8f92a530133ae371924f33c (diff) | |
download | aspectj-18c308fb3c26227f7cae5ad728d3565079edd4b5.tar.gz aspectj-18c308fb3c26227f7cae5ad728d3565079edd4b5.zip |
tests for pr139749 - calling super in @AspectJ advice body causes VerifyError
Diffstat (limited to 'tests/bugs152')
-rw-r--r-- | tests/bugs152/pr139749/AroundAdvicePassingPjpAsArgToSuper.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/bugs152/pr139749/AroundAdvicePassingPjpAsArgToSuper.java b/tests/bugs152/pr139749/AroundAdvicePassingPjpAsArgToSuper.java new file mode 100644 index 000000000..0a0ada0a0 --- /dev/null +++ b/tests/bugs152/pr139749/AroundAdvicePassingPjpAsArgToSuper.java @@ -0,0 +1,36 @@ + +package a.b.c; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; + +class ASuperClass { + + protected void takesApjp(ProceedingJoinPoint pjp) { + System.out.println(pjp); + } + +} + +@Aspect +public class AroundAdvicePassingPjpAsArgToSuper extends ASuperClass { + + @Around("execution(* foo())") + public Object passesPjp(ProceedingJoinPoint pjp) throws Throwable { + takesApjp(pjp); + Object ret = pjp.proceed(); + return ret; + } + + public static void main(String[] args) { + new C().foo(); + } +} + +class C { + + public Object foo() { + return new Object(); + } +}
\ No newline at end of file |