diff options
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=">In Aspect1"/> + <line text=">In Aspect3"/> + <line text="Method call"/> + <line text="<In Aspect3"/> + <line text="=In Aspect1"/> + <line text=">In Aspect3"/> + <line text="Method call"/> + <line text="<In Aspect3"/> + <line text="<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=">In Aspect1"/> + <line text=">In Aspect3"/> + <line text="Method call"/> + <line text="<In Aspect3"/> + <line text="=In Aspect1"/> + <line text=">In Aspect3"/> + <line text="Method call"/> + <line text="<In Aspect3"/> + <line text="<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=">In Aspect1"/> + <line text=">In Aspect3"/> + <line text="Method call"/> + <line text="<In Aspect3"/> + <line text="=In Aspect1"/> + <line text=">In Aspect3"/> + <line text="Method call"/> + <line text="<In Aspect3"/> + <line text="<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 { |