Indeed, you would want a withinadvice pointcut, but failing that you might just refactor to expose the relevant code as a method. Of course, to have something like withinadvice be useful, I'd want AspectJ to have better matching on advice signatures too (so you could say adviceexecution(before(int, String))).
_____ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dean Wampler Sent: Tuesday, February 20, 2007 8:35 AM To: [email protected] Subject: Re: [aspectj-users] Q about "adviceexecution" and "declare error" Thanks, Ramnivas, I was under the mistaken impression that adviceexecution works something like a "withincode" or "cflow", which of course it doesn't. dean Ramnivas Laddad wrote: Dean, Since adviceexecution() will match an advice join point and criticalSectionPCD() will match a non-advice join point (in your case, I presume you are selecting execution() or call() join point), combining the corresponding pointcuts using && will match nothing. -Ramnivas On 2/20/07, Dean Wampler <[EMAIL PROTECTED]> wrote: I'm working on idioms for defining PCDs that a class developer can use to exclude join points from possible advices. For example, say I want a 'critical section' to never be advised. What I've tried is something like the following: declare error: criticalSectionPCD() && adviceexecution(): "Can't advise the critical section." This compiles fine, but it has no effect. (I defined another aspect that breaks the rule.) Suggestions? dean
_______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
