aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs152
diff options
context:
space:
mode:
authoracolyer <acolyer>2006-06-20 11:12:49 +0000
committeracolyer <acolyer>2006-06-20 11:12:49 +0000
commit791f8a7c3f37d9b10b8ad1692df998733bbc2f20 (patch)
tree114a540dfa4ce5e29fdb33f5b22045356e82e437 /tests/bugs152
parent2257fc7638ae9e939cbec9994464a5e1ae36c9ba (diff)
downloadaspectj-791f8a7c3f37d9b10b8ad1692df998733bbc2f20.tar.gz
aspectj-791f8a7c3f37d9b10b8ad1692df998733bbc2f20.zip
tests and fix for pr147845, generic abstract aspect 3+ deep hierarchies
Diffstat (limited to 'tests/bugs152')
-rw-r--r--tests/bugs152/pr147845/GenericAspectHierarchy.aj30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/bugs152/pr147845/GenericAspectHierarchy.aj b/tests/bugs152/pr147845/GenericAspectHierarchy.aj
new file mode 100644
index 000000000..b9c483105
--- /dev/null
+++ b/tests/bugs152/pr147845/GenericAspectHierarchy.aj
@@ -0,0 +1,30 @@
+interface MyBase { void foo(); };
+interface MyMarker extends MyBase { void bar(); }
+
+abstract aspect Base<A extends MyBase> {
+
+ pointcut somePC() : execution(* A.*(..));
+
+ declare warning : somePC() : "a match";
+
+}
+
+abstract aspect Middle<B extends MyBase> extends Base<B> {}
+
+aspect Sub extends Middle<MyMarker> {}
+
+
+class C1 implements MyBase {
+
+ public void foo() {}
+
+}
+
+class C2 implements MyMarker {
+
+ public void foo() {} // CW L 25
+
+ public void bar() {} // CW L 27
+
+
+} \ No newline at end of file