You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AbstractDeclare.java 572B

12345678910111213141516171819202122232425262728293031
  1. public class AbstractDeclare {
  2. public static void main(String[] args) {
  3. new C().m();
  4. int y = new C().x;
  5. }
  6. }
  7. class C {
  8. int x;
  9. void m() {}
  10. }
  11. abstract aspect BaseErr {
  12. abstract pointcut acid();
  13. abstract pointcut base();
  14. declare error: acid() && base():
  15. "acid's and base's don't mix";
  16. }
  17. aspect CallErr extends BaseErr {
  18. pointcut acid(): within(AbstractDeclare);
  19. pointcut base(): call(* C.*());
  20. }
  21. aspect GetErr extends BaseErr {
  22. pointcut acid(): within(AbstractDeclare);
  23. pointcut base(): get(* C.*);
  24. }