diff options
author | acolyer <acolyer> | 2005-08-11 14:54:52 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-08-11 14:54:52 +0000 |
commit | 96817d501c231a90f813add999a2a24fcc8780a1 (patch) | |
tree | e51d57a0451796fa19f5609047604ad1d8d58f23 | |
parent | 28ccb9d7b814e92f0bc76056208a8494e831c8e1 (diff) | |
download | aspectj-96817d501c231a90f813add999a2a24fcc8780a1.tar.gz aspectj-96817d501c231a90f813add999a2a24fcc8780a1.zip |
a declare parents in an abstract aspect has no effect unless at least one concrete sub-aspect exists in the world
-rw-r--r-- | org.aspectj.ajdt.core/testdata/src1/binary/lib/AbstractA.aj | 6 | ||||
-rw-r--r-- | tests/bugs150/pr98901/Case13.aj | 4 | ||||
-rw-r--r-- | tests/bugs150/pr98901/Case17.aj | 4 |
3 files changed, 14 insertions, 0 deletions
diff --git a/org.aspectj.ajdt.core/testdata/src1/binary/lib/AbstractA.aj b/org.aspectj.ajdt.core/testdata/src1/binary/lib/AbstractA.aj index a8a69ab55..c9526d7a6 100644 --- a/org.aspectj.ajdt.core/testdata/src1/binary/lib/AbstractA.aj +++ b/org.aspectj.ajdt.core/testdata/src1/binary/lib/AbstractA.aj @@ -18,4 +18,10 @@ public abstract aspect AbstractA { }
declare parents: *..*MarkMe implements Marker;
+}
+
+aspect SubAbstractA extends AbstractA {
+ // amc - make a concrete sub-aspect so that the declare parents in the super aspect can
+ // take effect!
+ protected pointcut scope();
}
\ No newline at end of file diff --git a/tests/bugs150/pr98901/Case13.aj b/tests/bugs150/pr98901/Case13.aj index 0e113cd4e..25611f83f 100644 --- a/tests/bugs150/pr98901/Case13.aj +++ b/tests/bugs150/pr98901/Case13.aj @@ -11,6 +11,10 @@ abstract aspect A13{ declare @method : abstract void A13.a(..) : @anInterface; } +aspect A13Concrete extends A13 { + public void a() {}; +} + aspect B13 { public static void main(String [] args){ diff --git a/tests/bugs150/pr98901/Case17.aj b/tests/bugs150/pr98901/Case17.aj index 5bcca8021..f092ee6f3 100644 --- a/tests/bugs150/pr98901/Case17.aj +++ b/tests/bugs150/pr98901/Case17.aj @@ -11,6 +11,10 @@ abstract aspect A17 { declare @method : abstract void A17.a(..) : @anInterface; } +aspect A17Sub extends A17 { + public void a() {} +} + aspect B17 { public static void main(String [] args){ |