[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-dev] adviceexecution and/or astract pointcut definitions

Hi Eric -

If I understand you correctly...

field-set and advice-execution are two different kinds of 
join points, so 

   set(* *) && adviceexecution()

will never pick out any join point.

You could pick out any field-set join point within 
the aspect Aspect:

   set(* *) && within(Aspect)

or in the control flow of an advice-execution join point 
within the aspect:

   set(* *) && cflow(adviceexecution() && within(Aspect))

For good explanations, see the programming guide,
particularly the semantics appendix.   

Hope this helps -
Wes

P.S. - I appreciate the code gifs, but some would prefer
the code in the body of the email.  thanks-

P.P.S. - You can use the users list also to find out if
something is indeed a bug, and then submit the bug to
get a response from a developer.

> ------------Original Message------------
> From: Eric Bodden <eric@xxxxxxxxx>
> To: aspectj-dev@xxxxxxxxxxx
> Date: Thu, Oct-14-2004 2:20 PM
> Subject: [aspectj-dev] adviceexecution and/or astract pointcut definitions
>
>  
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Today I had some trouble with some pointcut definitions, which I
> could not clarify using the online help:
> 
> Firstly I apparently mistake the definition of the adviceexecution()
> pointcut:
> If you have a look at the graphic "set_event_not_matched.gif", you
> see that I set a field in one of the pieces of advice. In another
> piece of advice I want to match on that set event and in order to do
> so employ the adviceexecution() pointcut. Actually I thought that
> this would work since the set event is taking place inside a piece of
> advice.
> In the graphic "set_event_matched.gif" I inverted to
> !adviceexecution() and here you can see that now the pointcut does
> match. That's confusing to me. Why is that?
> 
> Secondly I noticed that if I change a certain pointcut to abstract
> (see "set_event_abstract_not_matc.gif") it also does not match any
> more. This might be a compiler/AJDT limitation, however I am not
> sure...
> 
> Some explanation would be great.
> 
> Cheers,
> Eric
> 
> - --
> Eric Bodden
> Chair I2 for Programming Languages and Program Analysis
> RWTH Aachen University 
> 
> -----BEGIN PGP SIGNATURE-----
> Version: PGP 8.0.3
> 
> iQA/AwUBQW7seMwiFCm7RlWCEQILjgCgot0KLrYF+7BJN/kCOC3t4qQTMdgAni4i
> pTjVyZXnqUfizI0IeNgaaVus
> =cyHP
> -----END PGP SIGNATURE-----
>   
>