diff options
author | jhugunin <jhugunin> | 2003-09-18 18:38:14 +0000 |
---|---|---|
committer | jhugunin <jhugunin> | 2003-09-18 18:38:14 +0000 |
commit | fc0d2af02cc6b6f8a4d9425e3c1cdd166957dde9 (patch) | |
tree | 3f0576fa925b4fbda4d12218c16cb0e1b28a660d /tests/bugs/AdviceInteraction.java | |
parent | 86be10e1c46dc6b3c57a5200da03dd7b77ffe12f (diff) | |
download | aspectj-fc0d2af02cc6b6f8a4d9425e3c1cdd166957dde9.tar.gz aspectj-fc0d2af02cc6b6f8a4d9425e3c1cdd166957dde9.zip |
fix and test for Bugzilla Bug 43194
java.lang.VerifyError in generated code
Bug was that a portion of ReferencePointcut.concretize was not behaving
functionally but was mutating state.
Diffstat (limited to 'tests/bugs/AdviceInteraction.java')
-rw-r--r-- | tests/bugs/AdviceInteraction.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/bugs/AdviceInteraction.java b/tests/bugs/AdviceInteraction.java new file mode 100644 index 000000000..1d72ad593 --- /dev/null +++ b/tests/bugs/AdviceInteraction.java @@ -0,0 +1,25 @@ +public class AdviceInteraction { + public static void main(String [] args) { + new C().m1(); + } +} + +class C { + public void m1() {} + public void m2() {} +} + +aspect A { + pointcut exec1(C c): this(c) && execution(void m1()); + pointcut execs(C c): exec1(c); + + before (): execs(*) {} + before (C c): execs(c) {} + + // This ordering works correctly + pointcut exec2(C c): this(c) && execution(void m2()); + pointcut execs2(C c): exec2(c); + + before (C c): execs2(c) {} + before (): execs2(*) {} +}
\ No newline at end of file |