diff options
author | aclement <aclement> | 2007-11-07 11:03:17 +0000 |
---|---|---|
committer | aclement <aclement> | 2007-11-07 11:03:17 +0000 |
commit | 60f020069426ff561d89b034d2849d1f07495e02 (patch) | |
tree | 61d11148db0086478e8bbe0cb916af7f73081614 /tests | |
parent | 035b27d00333ef36a35042f2e7a254c2f80814f1 (diff) | |
download | aspectj-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.java | 8 | ||||
-rw-r--r-- | tests/bugs154/pr202088/Bug2.java | 33 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc154/Ajc154Tests.java | 1 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc154/ajc154.xml | 11 |
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"> |