Hi, Adrian.
What you wrote reminds me of a proposal I have seen earlier, which is static
pointcuts (and advice).
I see the connection as follows:
In classes, static methods can access static members - regardless of the
fact if the class is abstract or not. So on an abstract class A, you can
call some "public static A.foo()".
I think the same should be true for aspects: It should be possible to
declare static pointcuts (and advice?). Then one could easily argue that
"declare <whatever>" has static scope and can access anything which is
static. Of course, static pointcuts could have no access to this/target/args
(or static advice to thisjoinpoint."NonStaticPart").
Hope this helps,
Eric