aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs160
diff options
context:
space:
mode:
authoraclement <aclement>2007-01-08 15:45:41 +0000
committeraclement <aclement>2007-01-08 15:45:41 +0000
commite9e52fea126c8177bf8fead1353ffc31e208440b (patch)
tree24edbcb14f3b11d41b05dda32675beefd898a826 /tests/bugs160
parent616672d6f7b71a5cfbff20ec698c3d812dd7fc4a (diff)
downloadaspectj-e9e52fea126c8177bf8fead1353ffc31e208440b.tar.gz
aspectj-e9e52fea126c8177bf8fead1353ffc31e208440b.zip
test and fix for 169706: inherited annotations down a hierarchy greater than 2 deep
Diffstat (limited to 'tests/bugs160')
-rw-r--r--tests/bugs160/pr169706/A.java8
-rw-r--r--tests/bugs160/pr169706/B.java3
-rw-r--r--tests/bugs160/pr169706/C.java3
-rw-r--r--tests/bugs160/pr169706/MyAnnotation.java3
-rw-r--r--tests/bugs160/pr169706/MyAspect.java16
-rw-r--r--tests/bugs160/pr169706/Test.java8
6 files changed, 41 insertions, 0 deletions
diff --git a/tests/bugs160/pr169706/A.java b/tests/bugs160/pr169706/A.java
new file mode 100644
index 000000000..a40ef7bcf
--- /dev/null
+++ b/tests/bugs160/pr169706/A.java
@@ -0,0 +1,8 @@
+public class A {
+
+ @MyAnnotation
+ public void foo() {
+
+ }
+
+}
diff --git a/tests/bugs160/pr169706/B.java b/tests/bugs160/pr169706/B.java
new file mode 100644
index 000000000..120fb1868
--- /dev/null
+++ b/tests/bugs160/pr169706/B.java
@@ -0,0 +1,3 @@
+public class B extends A {
+
+}
diff --git a/tests/bugs160/pr169706/C.java b/tests/bugs160/pr169706/C.java
new file mode 100644
index 000000000..8acb6675c
--- /dev/null
+++ b/tests/bugs160/pr169706/C.java
@@ -0,0 +1,3 @@
+public class C extends B {
+
+}
diff --git a/tests/bugs160/pr169706/MyAnnotation.java b/tests/bugs160/pr169706/MyAnnotation.java
new file mode 100644
index 000000000..723084377
--- /dev/null
+++ b/tests/bugs160/pr169706/MyAnnotation.java
@@ -0,0 +1,3 @@
+import java.lang.annotation.*;
+
+@Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation {}
diff --git a/tests/bugs160/pr169706/MyAspect.java b/tests/bugs160/pr169706/MyAspect.java
new file mode 100644
index 000000000..e533064db
--- /dev/null
+++ b/tests/bugs160/pr169706/MyAspect.java
@@ -0,0 +1,16 @@
+public aspect MyAspect {
+
+ // this throws an exception
+ before(MyAnnotation myAnnotation) :
+ //call(* *..*.*(..)) &&
+ call(@MyAnnotation * *(..)) &&
+ @annotation(myAnnotation) {
+
+ }
+
+ // this, however, works fine
+// before() :
+ // call(@MyAnnotation * *(..)) {
+ //
+ // }
+}
diff --git a/tests/bugs160/pr169706/Test.java b/tests/bugs160/pr169706/Test.java
new file mode 100644
index 000000000..b8af6a677
--- /dev/null
+++ b/tests/bugs160/pr169706/Test.java
@@ -0,0 +1,8 @@
+public class Test {
+
+ public static void main(String args[]) {
+ C c = new C();
+ c.foo();
+ }
+
+}