Hi Jean-Louis, With an execution pointcut, the output is the same as for a call pointcut.
Still, I don't follow the significance. Execution or call, I need to be able to (somehow) expose return values from the top 2 recursive calls on the stack, in the invocation of some advice. Thanks, Dinkar On Wed, Sep 2, 2009 at 1:55 AM, <[email protected]> wrote: > > What happens with an execution pointcut instead of a call pointcut ? > > > Jean-Louis Pasturel > > -----Message d'origine----- > De : [email protected] > [mailto:[email protected]] De la part de Dinkar Rao > Envoyé : mercredi 2 septembre 2009 10:21 > À : [email protected] > Objet : [aspectj-users] Capturing multiple return values from recursive > calls > > > Hi Folks, > > Need some help with AspectJ. How can I capture return values from recursive > calls ? I want not only the returned value from the top level method call in > the stack, but also link the values from the intermediate method calls. For > example, given this simple method: > > public int fact(int val) { > if (val > 0) { > return val * fact(val - 1); > } > else { > return 1; > } > } > > I can write an aspect that gets me the returned values from each call. > > public pointcut FactCall() : > call(public int fact(int)); > > after() returning(int f) : > FactCall() { > System.out.println("returned = " + f); > } > > So for fact(4), I get the returned values from the top-level call as 1, 1, > 2, 6, 24. > > But what I really want to do is to capture the return values from the top 2 > (or top n) recursive method calls, i.e. something that links > > 1 => 1 > 1 => 2 > 2 => 6 > 6 => 24 > > Any suggestions on how to do this ? > > Thanks, > Dinkar > > -- > View this message in context: > http://www.nabble.com/Capturing-multiple-return-values-from-recursive-calls- > tp25253444p25253444.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 > > > > ********************************* > This message and any attachments (the "message") are confidential and > intended solely for the addressees. > Any unauthorised use or dissemination is prohibited. > Messages are susceptible to alteration. > France Telecom Group shall not be liable for the message if altered, changed > or falsified. > If you are not the intended addressee of this message, please cancel it > immediately and inform the sender. > ******************************** > > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
