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