aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs166/pr288635/AddAnnotation.java3
-rw-r--r--tests/bugs166/pr288635/Anno.java9
-rw-r--r--tests/bugs166/pr288635/InterceptTraceds.java11
-rw-r--r--tests/bugs166/pr288635/MakeItd.java5
-rw-r--r--tests/bugs166/pr288635/TestClass.java8
-rw-r--r--tests/bugs166/pr288635/aop1.xml11
-rw-r--r--tests/src/org/aspectj/systemtest/ajc166/Ajc166Tests.java4
-rw-r--r--tests/src/org/aspectj/systemtest/ajc166/ajc166.xml17
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">