aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authoraclement <aclement>2007-11-07 11:03:17 +0000
committeraclement <aclement>2007-11-07 11:03:17 +0000
commit60f020069426ff561d89b034d2849d1f07495e02 (patch)
tree61d11148db0086478e8bbe0cb916af7f73081614 /tests
parent035b27d00333ef36a35042f2e7a254c2f80814f1 (diff)
downloadaspectj-60f020069426ff561d89b034d2849d1f07495e02.tar.gz
aspectj-60f020069426ff561d89b034d2849d1f07495e02.zip
pr202088: test and fix for coping with abstract annotation pointcuts with context
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs154/pr202088/Bug.java8
-rw-r--r--tests/bugs154/pr202088/Bug2.java33
-rw-r--r--tests/src/org/aspectj/systemtest/ajc154/Ajc154Tests.java1
-rw-r--r--tests/src/org/aspectj/systemtest/ajc154/ajc154.xml11
4 files changed, 52 insertions, 1 deletions
diff --git a/tests/bugs154/pr202088/Bug.java b/tests/bugs154/pr202088/Bug.java
new file mode 100644
index 000000000..cc4077423
--- /dev/null
+++ b/tests/bugs154/pr202088/Bug.java
@@ -0,0 +1,8 @@
+package tracing;
+import org.aspectj.lang.annotation.*;
+
+@Aspect
+public abstract class Bug {
+ @Pointcut
+ public abstract void traced(Object thiz);
+} \ No newline at end of file
diff --git a/tests/bugs154/pr202088/Bug2.java b/tests/bugs154/pr202088/Bug2.java
new file mode 100644
index 000000000..6b2ccb3cd
--- /dev/null
+++ b/tests/bugs154/pr202088/Bug2.java
@@ -0,0 +1,33 @@
+package tracing;
+import org.aspectj.lang.annotation.*;
+
+@Aspect abstract class Bug {
+ @Pointcut
+ public abstract void traced(Object thiz);
+
+ @Before("traced(o) && execution(* m(..))")
+ public void b1(Object o) {
+ System.out.println("o is '"+o+"'");
+ }
+
+}
+
+public @Aspect class Bug2 extends Bug {
+ @Pointcut("this(thiz)")
+ public void traced(Object thiz) {}
+
+ public static void main(String []argv) {
+ C.main(argv);
+ }
+}
+
+class C {
+ public static void main(String []argv) {
+ new C().m();
+ }
+ public void m() {
+
+ }
+
+ public String toString() { return "instance of C";}
+} \ No newline at end of file
diff --git a/tests/src/org/aspectj/systemtest/ajc154/Ajc154Tests.java b/tests/src/org/aspectj/systemtest/ajc154/Ajc154Tests.java
index 0655e37b2..0ba9571f0 100644
--- a/tests/src/org/aspectj/systemtest/ajc154/Ajc154Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc154/Ajc154Tests.java
@@ -45,6 +45,7 @@ public class Ajc154Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
// runTest("new pointcut designators in a reference pointcut");
// }
+ public void testAbstractAnnotationStylePointcutWithContext_pr202088() { runTest("abstract annotation style pointcut with context");}
public void testNoErrorForAtDecpInNormalClass_pr169428() { runTest( "no error for atDecp in normal class");}
public void testJarsZipsNonStandardSuffix_pr186673() { runTest("jars and zips with non-standard suffix");}
diff --git a/tests/src/org/aspectj/systemtest/ajc154/ajc154.xml b/tests/src/org/aspectj/systemtest/ajc154/ajc154.xml
index 364f5bfef..a7c831c34 100644
--- a/tests/src/org/aspectj/systemtest/ajc154/ajc154.xml
+++ b/tests/src/org/aspectj/systemtest/ajc154/ajc154.xml
@@ -2,7 +2,16 @@
<!-- AspectJ v1.6.0 Tests -->
<suite>
-
+ <ajc-test dir="bugs154/pr202088" title="abstract annotation style pointcut with context">
+ <compile options="-1.5" files="Bug.java"/>
+ <compile options="-1.5" files="Bug2.java">
+ </compile>
+ <run class="tracing.Bug2">
+ <stdout>
+ <line text="o is 'instance of C'"/>
+ </stdout>
+ </run>
+ </ajc-test>
<ajc-test dir="bugs154/pr169428" title="no error for atDecp in normal class">
<compile options="-1.5" files="CorrectError.java">