Re: "Around" advice
"Eric Bodden" <[email protected]> Wed, 23 May 2007 14:59:01 -0400
| Newsgroups | gmane.comp.programming.aspect.general |
|---|---|
| Message-ID | <[email protected]> |
The point it that unlike in a real continuation no state is being stored. As you can see, proceed() here has no arguments, so all that proceed does is call basically call the original code *location*. Even if proceed(..) had arguments, those would be *explicit* in the code. Eric On 23/05/07, Pascal Costanza <[email protected]> wrote: > > On 23 May 2007, at 15:52, Eric Bodden wrote: > > > On 23/05/07, vamsidhar sharma <[email protected]> wrote: > >> I found examples where the return value is being modified before > >> sending it or pointcut excution is made conditional. Didn't find > >> anything more real than these. > > > > Another way to us around-advice is to generate a closure that kind of > > holds the continuation of the execution and can then be invoked later > > on (see Laddad's book "AOP in action"): > > > > Object around(): pc() { > > runnables.add(new Runnable() { > > public void run() { > > return proceed(); > > } > > }); > > return null; > > } > > > > I have used this technique in a similar way to implement a fault > > tolerance layer. > > This indeed smells like a full continuation, but I can't imagine how > this would work in a JVM. What am I missing? > > > Pascal > > -- > Pascal Costanza, mailto:[email protected], http://p-cos.net > Vrije Universiteit Brussel, Programming Technology Lab > Pleinlaan 2, B-1050 Brussel, Belgium > > > > > -- 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