aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/multiIncremental/PR278496_9/base/src/a/b/c/Azpect.java5
-rw-r--r--tests/multiIncremental/PR278496_9/base/src/a/b/c/Code.java13
-rw-r--r--tests/multiIncremental/PR278496_9/base/src/a/b/c/Code2.java10
-rw-r--r--tests/src/org/aspectj/systemtest/ajc1611/Ajc1611Tests.java12
-rw-r--r--tests/src/org/aspectj/systemtest/ajc1611/ajc1611.xml50
-rw-r--r--tests/src/org/aspectj/systemtest/incremental/tools/IncrementalCompilationTests.java15
6 files changed, 105 insertions, 0 deletions
diff --git a/tests/multiIncremental/PR278496_9/base/src/a/b/c/Azpect.java b/tests/multiIncremental/PR278496_9/base/src/a/b/c/Azpect.java
new file mode 100644
index 000000000..559810d78
--- /dev/null
+++ b/tests/multiIncremental/PR278496_9/base/src/a/b/c/Azpect.java
@@ -0,0 +1,5 @@
+package a.b.c;
+
+public aspect Azpect {
+ before():staticinitialization(Code2) {}
+}
diff --git a/tests/multiIncremental/PR278496_9/base/src/a/b/c/Code.java b/tests/multiIncremental/PR278496_9/base/src/a/b/c/Code.java
new file mode 100644
index 000000000..d01a3b039
--- /dev/null
+++ b/tests/multiIncremental/PR278496_9/base/src/a/b/c/Code.java
@@ -0,0 +1,13 @@
+package a.b.c;
+import java.util.List;
+import java.util.ArrayList;
+
+public class Code {
+ public void m() {
+ List l = new ArrayList();
+ }
+
+ static class CodeInner {
+ }
+}
+
diff --git a/tests/multiIncremental/PR278496_9/base/src/a/b/c/Code2.java b/tests/multiIncremental/PR278496_9/base/src/a/b/c/Code2.java
new file mode 100644
index 000000000..09879a99b
--- /dev/null
+++ b/tests/multiIncremental/PR278496_9/base/src/a/b/c/Code2.java
@@ -0,0 +1,10 @@
+package a.b.c;
+import java.util.List;
+import java.util.ArrayList;
+
+public class Code2 {
+ public void m() {
+ List l = new ArrayList();
+ }
+}
+
diff --git a/tests/src/org/aspectj/systemtest/ajc1611/Ajc1611Tests.java b/tests/src/org/aspectj/systemtest/ajc1611/Ajc1611Tests.java
index 0c9005e26..7123f7a61 100644
--- a/tests/src/org/aspectj/systemtest/ajc1611/Ajc1611Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc1611/Ajc1611Tests.java
@@ -36,6 +36,18 @@ public class Ajc1611Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
public void testDeclareField_328840() {
runTest("pr328840");
}
+
+// public void testAnnoStyleAdviceChain_333274() {
+// runTest("anno style advice chain");
+// }
+//
+// public void testAnnoStyleAdviceChain_333274_2() {
+// runTest("code style advice chain");
+// }
+//
+// public void testAnnoStyleAdviceChain_333274_3() {
+// runTest("code style advice chain - no inline");
+// }
// ---
diff --git a/tests/src/org/aspectj/systemtest/ajc1611/ajc1611.xml b/tests/src/org/aspectj/systemtest/ajc1611/ajc1611.xml
index c37857222..d77ddeeb4 100644
--- a/tests/src/org/aspectj/systemtest/ajc1611/ajc1611.xml
+++ b/tests/src/org/aspectj/systemtest/ajc1611/ajc1611.xml
@@ -1,6 +1,56 @@
<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[]>
<suite>
+ <ajc-test dir="bugs1611/pr333274" title="anno style advice chain">
+ <compile files="ma/Annotation1.java ma/aspect1/Aspect1.java ma/aspect3/Aspect3.java ma/Main.java ma/Precedence.java" options="-1.5"/>
+ <run class="ma.Main">
+ <stdout>
+ <line text="&gt;In Aspect1"/>
+ <line text="&gt;In Aspect3"/>
+ <line text="Method call"/>
+ <line text="&lt;In Aspect3"/>
+ <line text="=In Aspect1"/>
+ <line text="&gt;In Aspect3"/>
+ <line text="Method call"/>
+ <line text="&lt;In Aspect3"/>
+ <line text="&lt;In Aspect1"/>
+ </stdout>
+ </run>
+ </ajc-test>
+
+ <ajc-test dir="bugs1611/pr333274" title="code style advice chain - no inline">
+ <compile files="ma2/Annotation1.java ma2/aspect1/Aspect1.java ma2/aspect3/Aspect3.java ma2/Main.java ma2/Precedence.java" options="-1.5 -XnoInline"/>
+ <run class="ma2.Main">
+ <stdout>
+ <line text="&gt;In Aspect1"/>
+ <line text="&gt;In Aspect3"/>
+ <line text="Method call"/>
+ <line text="&lt;In Aspect3"/>
+ <line text="=In Aspect1"/>
+ <line text="&gt;In Aspect3"/>
+ <line text="Method call"/>
+ <line text="&lt;In Aspect3"/>
+ <line text="&lt;In Aspect1"/>
+ </stdout>
+ </run>
+ </ajc-test>
+
+ <ajc-test dir="bugs1611/pr333274" title="code style advice chain">
+ <compile files="ma2/Annotation1.java ma2/aspect1/Aspect1.java ma2/aspect3/Aspect3.java ma2/Main.java ma2/Precedence.java" options="-1.5 "/>
+ <run class="ma2.Main">
+ <stdout>
+ <line text="&gt;In Aspect1"/>
+ <line text="&gt;In Aspect3"/>
+ <line text="Method call"/>
+ <line text="&lt;In Aspect3"/>
+ <line text="=In Aspect1"/>
+ <line text="&gt;In Aspect3"/>
+ <line text="Method call"/>
+ <line text="&lt;In Aspect3"/>
+ <line text="&lt;In Aspect1"/>
+ </stdout>
+ </run>
+ </ajc-test>
<ajc-test dir="bugs1611/pr328840" title="pr328840">
<compile files="Wibble.aj" options="-1.5 -showWeaveInfo">
diff --git a/tests/src/org/aspectj/systemtest/incremental/tools/IncrementalCompilationTests.java b/tests/src/org/aspectj/systemtest/incremental/tools/IncrementalCompilationTests.java
index 5e33fa63c..29941da8e 100644
--- a/tests/src/org/aspectj/systemtest/incremental/tools/IncrementalCompilationTests.java
+++ b/tests/src/org/aspectj/systemtest/incremental/tools/IncrementalCompilationTests.java
@@ -276,6 +276,21 @@ public class IncrementalCompilationTests extends AbstractMultiProjectIncremental
IProgramElement ipe = model.findElementForHandleOrCreate("=PR278496_1<a.b.c{Code.java", false);
assertNull(ipe);
}
+
+ // inner classes
+ public void testDeletion_278496_9() throws Exception {
+ String p = "PR278496_9";
+ initialiseProject(p);
+ configureNonStandardCompileOptions(p, "-Xset:minimalModel=true");
+ build(p);
+ checkWasFullBuild();
+ printModel(p);
+
+ AspectJElementHierarchy model = (AspectJElementHierarchy) getModelFor(p).getHierarchy();
+ // Node for "Code.java" should not be there:
+ IProgramElement ipe = model.findElementForHandleOrCreate("=PR278496_9<a.b.c{Code.java", false);
+ assertNull(ipe);
+ }
// deleting unaffected model entries
public void testDeletion_278496_2() throws Exception {