public abstract aspect AbstractAspect{ public abstract pointcut directCall(); before(): directCall(){ noteDirectCall(); } abstract void noteDirectCall(); public abstract pointcut badCall(); declare warning: badCall(): "bad"; }