aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs189
diff options
context:
space:
mode:
authorAndy Clement <aclement@pivotal.io>2016-01-20 12:58:09 -0800
committerAndy Clement <aclement@pivotal.io>2016-01-20 12:58:09 -0800
commit9be47cc3a9ead4208d6247fcc5da7216c231278a (patch)
tree9aebcfab91ed5269838ae153a8035f36ae16fcdd /tests/bugs189
parentee41a3446c1b678dfc8afe5842c17c2c96cc49dd (diff)
downloadaspectj-9be47cc3a9ead4208d6247fcc5da7216c231278a.tar.gz
aspectj-9be47cc3a9ead4208d6247fcc5da7216c231278a.zip
Fixes for compile time overweaving
In writing a testcase for 352389 I discovered overweaving just wasn't working for a compile time series of test steps. This was due to a guard preventing secondary calls to addOrReplaceAspect. Without the secondary call the crosscutting collector for the aspect had recorded no mungers from the original aspect because it was still using an EclipseSourceType delegate. Later when it was using the binary BcelObjectType delegate and mungers were available, they weren't collected because of that missing addOrReplaceAspect call.
Diffstat (limited to 'tests/bugs189')
-rw-r--r--tests/bugs189/352389/A.java3
-rw-r--r--tests/bugs189/352389/B.java3
-rw-r--r--tests/bugs189/352389/C.java3
-rw-r--r--tests/bugs189/352389/Code.java7
4 files changed, 16 insertions, 0 deletions
diff --git a/tests/bugs189/352389/A.java b/tests/bugs189/352389/A.java
new file mode 100644
index 000000000..d82598fa1
--- /dev/null
+++ b/tests/bugs189/352389/A.java
@@ -0,0 +1,3 @@
+public aspect A {
+before(): execution(* m(..)) { System.out.println("a"); }
+}
diff --git a/tests/bugs189/352389/B.java b/tests/bugs189/352389/B.java
new file mode 100644
index 000000000..950dfae0a
--- /dev/null
+++ b/tests/bugs189/352389/B.java
@@ -0,0 +1,3 @@
+public aspect B {
+before(): execution(* m(..)) { System.out.println("b"); }
+}
diff --git a/tests/bugs189/352389/C.java b/tests/bugs189/352389/C.java
new file mode 100644
index 000000000..f86644d3b
--- /dev/null
+++ b/tests/bugs189/352389/C.java
@@ -0,0 +1,3 @@
+public aspect C {
+before(): execution(* m(..)) { System.out.println("c"); }
+}
diff --git a/tests/bugs189/352389/Code.java b/tests/bugs189/352389/Code.java
new file mode 100644
index 000000000..c7c4e64ff
--- /dev/null
+++ b/tests/bugs189/352389/Code.java
@@ -0,0 +1,7 @@
+public class Code {
+public static void main(String []argv) {
+ new Code().m();
+}
+
+public void m() {}
+}