diff options
Diffstat (limited to 'tests/new/AbstractDeclare.java')
-rw-r--r-- | tests/new/AbstractDeclare.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/new/AbstractDeclare.java b/tests/new/AbstractDeclare.java new file mode 100644 index 000000000..6f3859913 --- /dev/null +++ b/tests/new/AbstractDeclare.java @@ -0,0 +1,31 @@ +public class AbstractDeclare { + public static void main(String[] args) { + new C().m(); + int y = new C().x; + } +} + +class C { + int x; + + void m() {} +} + + +abstract aspect BaseErr { + abstract pointcut acid(); + abstract pointcut base(); + + declare error: acid() && base(): + "acid's and base's don't mix"; +} + +aspect CallErr extends BaseErr { + pointcut acid(): within(AbstractDeclare); + pointcut base(): call(* C.*()); +} + +aspect GetErr extends BaseErr { + pointcut acid(): within(AbstractDeclare); + pointcut base(): get(* C.*); +} |