Re: excluding a joinpoint shadow
"Eric Bodden" <[email protected]> Mon, 26 Feb 2007 16:07:23 -0500
| Newsgroups | gmane.comp.programming.aspect.general |
|---|---|
| Message-ID | <[email protected]> |
Hi, Peter. There is currently no way to do this in AspectJ. People have been thinking about annotations which one could put on statements or blocks. This might become a Java Specification Request at some point, who knows... But there is another potential solution for your problem, called tracematches. A tracematch allows you to match on sequences of events and hence to express things like "only match the n-th method call". An efficient implementation of tracematches is available in the abc compiler. You find an introductory paper at: http://abc.comlab.ox.ac.uk/techreports#abc-2005-1 Hope that helps, Eric P.S. Such kinds of questions should rather go to the aspectj-users list. aosd-discuss is more for general discussion on AOSD. On 2/26/07, Peter Kim <[email protected]> wrote: > Hi, > > What is the best way to go about allowing a particular joinpoint > shadow (e.g. AST node) to be excluded from being advised? For > example, if I have an aspect that advises call(* *.bar()), to exclude > calls to bar() within operation, I would modify the pointcut to "&& > !withincode(operation())". However, I would like to allow the user to > exclude only the first call to bar() through some comment-annotation > mechanism as follows: > > void operation() > { > foo(); > bar(); > //@exclude > bar(); > } > > I understand that this probably requires some modification to AspectJ > infastructure, but I'm not very familiar with the infrastructure and I > would like to know the fastest way to achieve this (though not too > dirty)...thank you so much! > > > -- > Peter Kim > Ph.D. Candidate > Generative Programming Lab > Department of Electrical and Computer Engineering > University of Waterloo, Canada > > http://swen.uwaterloo.ca/~chpkim > Tel: +1-519-635-2468 > Office: DC2544 > > _______________________________________________ > discuss mailing list - [email protected] > > To unsubscribe and change options, go to: > http://aosd.net/mailman/listinfo/discuss_aosd.net > > Check out the AOSD.net Wiki: http://aosd.net/wiki > -- Eric Bodden Sable Research Group McGill University, Montréal, Canada _______________________________________________ discuss mailing list - [email protected] To unsubscribe and change options, go to: http://aosd.net/mailman/listinfo/discuss_aosd.net Check out the AOSD.net Wiki: http://aosd.net/wiki