Could not find how to do it, so I declare an error instead, like this:
===================================================
public aspect LogMeAspect extends LoggerAspect {
  ...
  private pointcut logMeTypeScope() : within(@LogMe *);
  declare error : !within(ILoggable+) && !logMeTypeScope() &&
execution(@LogMe * *.*(..)) :
    "{advice.aspecttype}: The method
{joinpoint.signature.declaringType}.{joinpoint.signature.name} (line
{joinpoint.sourcelocation.line}) is annotated with the @LogMe annotation,
but the declaring type is neither @LogMe annotated nor implements the
ILoggable interface.";
}
===================================================

Is this the best way to enforce the desired semantics? 

Thanks.

--
View this message in context: 
http://aspectj.2085585.n4.nabble.com/Is-it-possible-to-modify-the-subject-type-based-on-the-presence-of-a-certain-annotation-on-a-type-s--tp4210440p4210538.html
Sent from the AspectJ - users mailing list archive at Nabble.com.
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to