|
12345678910111213141516171819202122232425262728293031 |
- 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.*);
- }
|