aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs/AdviceInteraction.java
diff options
context:
space:
mode:
authorjhugunin <jhugunin>2003-09-18 18:38:14 +0000
committerjhugunin <jhugunin>2003-09-18 18:38:14 +0000
commitfc0d2af02cc6b6f8a4d9425e3c1cdd166957dde9 (patch)
tree3f0576fa925b4fbda4d12218c16cb0e1b28a660d /tests/bugs/AdviceInteraction.java
parent86be10e1c46dc6b3c57a5200da03dd7b77ffe12f (diff)
downloadaspectj-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.java25
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