]> source.dussan.org Git - aspectj.git/commitdiff
198341: test and fix
authoraclement <aclement>
Fri, 22 Aug 2008 21:07:25 +0000 (21:07 +0000)
committeraclement <aclement>
Fri, 22 Aug 2008 21:07:25 +0000 (21:07 +0000)
tests/bugs162/pr198341/AnnotationAspect.java [new file with mode: 0644]
tests/src/org/aspectj/systemtest/ajc162/Ajc162Tests.java
tests/src/org/aspectj/systemtest/ajc162/ajc162.xml

diff --git a/tests/bugs162/pr198341/AnnotationAspect.java b/tests/bugs162/pr198341/AnnotationAspect.java
new file mode 100644 (file)
index 0000000..a67c264
--- /dev/null
@@ -0,0 +1,30 @@
+import java.lang.annotation.*;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+@interface TestAnnotation1 {}
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+@interface TestAnnotation2{}
+
+@TestAnnotation1
+class Annotated {}
+
+interface Marker {}
+
+public aspect AnnotationAspect {
+
+  declare @type: @TestAnnotation1 *: @TestAnnotation2;
+
+  // of cource this matches
+  // declare parents: (@TestAnnotation1 *)  implements Marker;
+  // this matches, too
+  // declare parents: (@TestAnnotation2 *)  implements Marker;
+
+  // this does not match on Annotated
+  declare parents: (@TestAnnotation2 *) && !java.lang.annotation.Annotation implements Marker;
+  // but this does match on annotated
+  // declare parents: (@TestAnnotation1 *) && !java.lang.annotation.Annotation implements Marker;
+}
+
index d1c914be3f294e785abccbcb2cab7171a1979d23..7ef61767c49ecc084cbf1f65cab58438181d8c94 100644 (file)
@@ -19,6 +19,7 @@ import org.aspectj.testing.XMLBasedAjcTestCase;
 public class Ajc162Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
        
        // AspectJ1.6.2 
+       public void testDecAtAnnoDecP_pr198341() { runTest("dec atanno and decp"); }
 //     public void testStarInAnnoStyle_pr209951() { runTest("asterisk in at aj pointcut"); }
        public void testMissingMarkers_pr197720() { runTest("missing markers on inherited annotated method"); }
        public void testLostGenericsSigOnItd_pr211146() { runTest("lost generic sig on itd"); }
index a25c904d7c6549cd9417966d9817e101cba83373..6011429b982b9465bc1093a16e1f023bfe00ebaf 100644 (file)
@@ -3,6 +3,13 @@
 <!-- AspectJ v1.6.2 Tests -->
 <suite>
 
+   <ajc-test dir="bugs162/pr198341" title="dec atanno and decp">
+     <compile options="-1.5 -showWeaveInfo" files="AnnotationAspect.java">
+       <message kind="weave" text="'Annotated' (AnnotationAspect.java:12) is annotated with @TestAnnotation2 type annotation from 'AnnotationAspect' (AnnotationAspect.java:18)"/>
+       <message kind="weave" text="Extending interface set for type 'Annotated' (AnnotationAspect.java) to include 'Marker' (AnnotationAspect.java)"/>
+     </compile>
+   </ajc-test>
+
 
    <ajc-test dir="bugs162/pr209051" title="asterisk in at aj pointcut">
      <compile options="-1.5" files="Bug.java"/>