]> source.dussan.org Git - aspectj.git/commitdiff
a declare parents in an abstract aspect has no effect unless at least one concrete...
authoracolyer <acolyer>
Thu, 11 Aug 2005 14:54:52 +0000 (14:54 +0000)
committeracolyer <acolyer>
Thu, 11 Aug 2005 14:54:52 +0000 (14:54 +0000)
org.aspectj.ajdt.core/testdata/src1/binary/lib/AbstractA.aj
tests/bugs150/pr98901/Case13.aj
tests/bugs150/pr98901/Case17.aj

index a8a69ab55f828d3dd055ead232ab739ed0a505c1..c9526d7a6c3a000aa7f7eb004fb0c90fe69b557d 100644 (file)
@@ -18,4 +18,10 @@ public abstract aspect AbstractA {
     }\r
     \r
     declare parents: *..*MarkMe implements Marker;\r
+}\r
+\r
+aspect SubAbstractA extends AbstractA {\r
+       // amc - make a concrete sub-aspect so that the declare parents in the super aspect can\r
+       // take effect!\r
+       protected pointcut scope();\r
 }
\ No newline at end of file
index 0e113cd4ee675d313252a8f9b4e2d63a27ccc8c9..25611f83f0d30129608cca0a357d88376f80b488 100644 (file)
@@ -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){
index 5bcca80212ea3649d9090f29760ceaeb8a48c933..f092ee6f3c7dbb0909014826239c6dbd196b7817 100644 (file)
@@ -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){