diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs166/pr288635/AddAnnotation.java | 3 | ||||
-rw-r--r-- | tests/bugs166/pr288635/Anno.java | 9 | ||||
-rw-r--r-- | tests/bugs166/pr288635/InterceptTraceds.java | 11 | ||||
-rw-r--r-- | tests/bugs166/pr288635/MakeItd.java | 5 | ||||
-rw-r--r-- | tests/bugs166/pr288635/TestClass.java | 8 | ||||
-rw-r--r-- | tests/bugs166/pr288635/aop1.xml | 11 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc166/Ajc166Tests.java | 4 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc166/ajc166.xml | 17 |
8 files changed, 67 insertions, 1 deletions
diff --git a/tests/bugs166/pr288635/AddAnnotation.java b/tests/bugs166/pr288635/AddAnnotation.java new file mode 100644 index 000000000..49e5a58db --- /dev/null +++ b/tests/bugs166/pr288635/AddAnnotation.java @@ -0,0 +1,3 @@ +public aspect AddAnnotation { + declare @method : public int *do*(..) : @Anno; +} diff --git a/tests/bugs166/pr288635/Anno.java b/tests/bugs166/pr288635/Anno.java new file mode 100644 index 000000000..5bf02247c --- /dev/null +++ b/tests/bugs166/pr288635/Anno.java @@ -0,0 +1,9 @@ +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +public @interface Anno { + String level() default "debug"; +} diff --git a/tests/bugs166/pr288635/InterceptTraceds.java b/tests/bugs166/pr288635/InterceptTraceds.java new file mode 100644 index 000000000..a33f4ad8b --- /dev/null +++ b/tests/bugs166/pr288635/InterceptTraceds.java @@ -0,0 +1,11 @@ +public aspect InterceptTraceds { + + before(Anno t) : execution(@Anno * *.*(..)) && @annotation(t) { + if (t != null) { + System.out.println("Executing " + thisJoinPoint + " on level " + t.level()); + } else { + System.out.println("Annotation was null on " + thisJoinPoint); + } + } + +} diff --git a/tests/bugs166/pr288635/MakeItd.java b/tests/bugs166/pr288635/MakeItd.java new file mode 100644 index 000000000..50a8cfef3 --- /dev/null +++ b/tests/bugs166/pr288635/MakeItd.java @@ -0,0 +1,5 @@ +public aspect MakeItd { + public int TestClass.doAnother() { + return 2; + } +} diff --git a/tests/bugs166/pr288635/TestClass.java b/tests/bugs166/pr288635/TestClass.java new file mode 100644 index 000000000..e4623c23a --- /dev/null +++ b/tests/bugs166/pr288635/TestClass.java @@ -0,0 +1,8 @@ +public class TestClass { + + public static void main(String[] args) { + TestClass tc = new TestClass(); + tc.doAnother(); + } + +} diff --git a/tests/bugs166/pr288635/aop1.xml b/tests/bugs166/pr288635/aop1.xml new file mode 100644 index 000000000..d15cde668 --- /dev/null +++ b/tests/bugs166/pr288635/aop1.xml @@ -0,0 +1,11 @@ +<aspectj> +<aspects> + <aspect name="AddAnnotation"/> + <aspect name="MakeItd"/> + <aspect name="InterceptTraceds"/> +</aspects> + <weaver options="-showWeaveInfo -verbose"> + <dump within="*" beforeandafter="true"/> + </weaver> +</aspectj> + diff --git a/tests/src/org/aspectj/systemtest/ajc166/Ajc166Tests.java b/tests/src/org/aspectj/systemtest/ajc166/Ajc166Tests.java index d497e37f6..583e7df38 100644 --- a/tests/src/org/aspectj/systemtest/ajc166/Ajc166Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc166/Ajc166Tests.java @@ -30,6 +30,10 @@ public class Ajc166Tests extends org.aspectj.testing.XMLBasedAjcTestCase { runTest("munger cce"); } + public void testMungerCCE_288635_2() { + runTest("munger cce - 2"); + } + public void testNPEonBadAspectDecl_286375() { runTest("npe on bad aspect decl"); } diff --git a/tests/src/org/aspectj/systemtest/ajc166/ajc166.xml b/tests/src/org/aspectj/systemtest/ajc166/ajc166.xml index 073933789..1e0f7a131 100644 --- a/tests/src/org/aspectj/systemtest/ajc166/ajc166.xml +++ b/tests/src/org/aspectj/systemtest/ajc166/ajc166.xml @@ -14,9 +14,24 @@ <run class="Main"/> </ajc-test> + <ajc-test dir="bugs166/pr288635" title="munger cce - 2"> + <compile files="AddAnnotation.java MakeItd.java InterceptTraceds.java TestClass.java Anno.java" options="-1.5 -XterminateAfterCompilation"/> + <run class="TestClass" ltw="aop1.xml"> + <stdout> + <line text="Executing execution(int TestClass.doAnother()) on level debug"/> + </stdout> + </run> + </ajc-test> + <ajc-test dir="bugs166/pr288635" title="munger cce"> <compile files="org/tests/atann/AddAnnotations.aj org/tests/atann/AddITDDoMethod.aj org/tests/atann/InterceptTraceds.aj org/tests/atann/TestClass.java org/tests/atann/Traced.java" options="-1.5"/> - <run class="org.tests.atann.TestClass"/> + <run class="org.tests.atann.TestClass"> + <stdout> + <line text="Executing execution(String org.tests.atann.TestClass.doAnnotated()) on level debug"/> + <line text="Executing execution(int org.tests.atann.TestClass.doITDAnnotation()) on level debug"/> + <line text="Executing execution(int org.tests.atann.TestClass.doAnother()) on level debug"/> + </stdout> + </run> </ajc-test> <ajc-test dir="bugs166/pr286375" title="npe on bad aspect decl"> |