summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-08-11 14:54:52 +0000
committeracolyer <acolyer>2005-08-11 14:54:52 +0000
commit96817d501c231a90f813add999a2a24fcc8780a1 (patch)
treee51d57a0451796fa19f5609047604ad1d8d58f23
parent28ccb9d7b814e92f0bc76056208a8494e831c8e1 (diff)
downloadaspectj-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.aj6
-rw-r--r--tests/bugs150/pr98901/Case13.aj4
-rw-r--r--tests/bugs150/pr98901/Case17.aj4
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){