summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/bugs153/pr153464/Foo.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/bugs153/pr153464/Foo.java b/tests/bugs153/pr153464/Foo.java
new file mode 100644
index 000000000..1167e9bb4
--- /dev/null
+++ b/tests/bugs153/pr153464/Foo.java
@@ -0,0 +1,30 @@
+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";
+ pointcut hasMethod() : hasmethod(@Annot * *(..));
+}
+
+
+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 { };