aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs/AdviceInteraction.java
diff options
context:
space:
mode:
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