[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[List Home]
|
Re: [aspectj-users] Capturing multiple return values from recursive calls
|
- From: Dinkar Rao <dinkar.d91411118@xxxxxxxxx>
- Date: Wed, 2 Sep 2009 08:57:15 -0700
- Delivered-to: aspectj-users@eclipse.org
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=lsapu6FAbDhE3juHLUgdt1rnKe4ElSS/NW+FScNu420=; b=Er7MtEoEWsJyl+lmuCnRObsqMOtv8Kvzejx+WWzRO1o54lIZp5pjRYjz9SwLKVlflT dcc7j3Cv/1MceM+LHSc6rqagQ6KuKuAGHfgTvBZ+g/0T13zpszWTrJd6a24S4LO/NfCn QvU/ilotQdDdfo2g/Pu7JDW3ku+hQdu+oVIYw=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=vAOjFE+IO6b/+DRT3uQIOnr7RIJPRjnEWb4JAZ5Ly6xgXXuUjOjeaA3nW/22v/68VW nlOAS/8CK4OcppjZix/hNXtlLk1gbZAyu3/6yI6q4v8BxyKF0Cibao8oXVRPOaUU2pdB vJORluqickRT55qk1PE3JyanGzJBx8MVGJW0Q=
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, <jeanlouis.pasturel@xxxxxxxxxxxxxxxxxx> wrote:
>
> What happens with an execution pointcut instead of a call pointcut ?
>
>
> Jean-Louis Pasturel
>
> -----Message d'origine-----
> De : aspectj-users-bounces@xxxxxxxxxxx
> [mailto:aspectj-users-bounces@xxxxxxxxxxx] De la part de Dinkar Rao
> Envoyé : mercredi 2 septembre 2009 10:21
> À : aspectj-users@xxxxxxxxxxx
> 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
> aspectj-users@xxxxxxxxxxx
> 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
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>