]> source.dussan.org Git - aspectj.git/commitdiff
testcase for 153464 - commented out at the mo
authoraclement <aclement>
Mon, 25 Sep 2006 15:02:19 +0000 (15:02 +0000)
committeraclement <aclement>
Mon, 25 Sep 2006 15:02:19 +0000 (15:02 +0000)
tests/bugs153/pr153464/Bug.java [new file with mode: 0644]
tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java
tests/src/org/aspectj/systemtest/ajc153/ajc153.xml

diff --git a/tests/bugs153/pr153464/Bug.java b/tests/bugs153/pr153464/Bug.java
new file mode 100644 (file)
index 0000000..f6127d0
--- /dev/null
@@ -0,0 +1,29 @@
+import java.lang.annotation.*;
+
+aspect TestAspect {
+  // works - Derived.func() omitted
+//  declare warning : execution(@Annot * *(..)) && !within(@Annot *): "hi!";
+
+  // fails - Derived.func() not omitted
+  declare warning : execution(@Annot * *(..)) && within(!@Annot *) : "within includes negated annotation";
+}
+
+
+class Base {
+  void func() { }
+}
+
+//@Annot
+class AnnotTest {
+  @Annot
+  class Derived extends Base {
+    @Annot void func() { }
+  }
+//
+ // class NoAnnotClass {
+  //  @Annot void func() { }
+  //}
+}
+
+//@Retention(RetentionPolicy.RUNTIME)
+@interface Annot { };
index 3fdae37718cb78de64e95755384f1f01b97ff62a..2a8f97340174d58adfb1bb110f862ba11ffafa5a 100644 (file)
@@ -28,6 +28,7 @@ public class Ajc153Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
   // public void testCFlowXMLAspectLTW_pr149096() { runTest("cflow xml concrete aspect"); }
   // public void testAmbiguousBinding_pr121805() { runTest("ambiguous binding");}
 //  public void testNoIllegalStateExceptionWithGenericInnerAspect_pr156058() { runTest("no IllegalStateException with generic inner aspect"); }
+//  public void testNegatedAnnotationMatchingProblem_pr153464() { runTest("negated annotation matching problem");}
   public void testAnnotationStylePointcutNPE_pr158412() { runTest("annotation style pointcut npe"); }
   public void testAnnotationStylePointcutNPE_pr158412_2() { runTest("annotation style pointcut npe - 2"); }
   public void testAnnotationsCallConstructors_pr158126() { runTest("annotations, call and constructors problem");}
index 455f181b1e648505cfd123210500fa66090a3da9..163d0a98d530cd23651b1edf33fcfd3c26f52e4b 100644 (file)
     <ajc-test dir="bugs153/pr158412" title="annotation style pointcut npe">
       <compile files="layering/Layering.aj,layering/SystemArchitektur.java" options="-1.5"/>
     </ajc-test>
+    
+    <ajc-test dir="bugs153/pr153464" title="negated annotation matching problem">
+      <compile files="Bug.java" options="-1.5">
+        <message kind="warning" line="99"/>
+      </compile>
+    </ajc-test>
 
     <ajc-test dir="bugs153/pr158412" title="annotation style pointcut npe - 2">
       <compile files="layering/Layering.aj,layering/SystemArchitektur.java,dao/Foo.java" options="-1.5">