Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] a possilbe bug with aspectj1.1rc2

To add a little more information to Wes's comments below, this change is documented in the release notes:

  http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/README-11.html#NO_CALLEE_SIDE_CALL

We believe that anyone who has a problem with this change can fix the problem by replacing 'call' with 'execution' in the relevant pointcuts.  Please let us know if this change works for you, or if there are any problems with making it.

This should be the first entry in a 1.0->1.1 porting guide that someone needs to write...

-Jim

> -----Original Message-----
> From: Wes Isberg [mailto:wes@xxxxxxxxxxxxxx]
> Sent: Monday, May 19, 2003 2:29 PM
> To: aspectj-users@xxxxxxxxxxx
> Subject: Re: [aspectj-users] a possilbe bug with aspectj1.1rc2
> 
> One change in AspectJ 1.1 is that call join points are implemented
> only if the compiler controls the code for the caller.  In AspectJ
> 1.0.6, we sometimes also implemented call join points when the
> compiler only controlled the code for the callee.  That means you'd
> see the behavior below if you were not including the caller when
> compiling the code below.  Do you think that could be it?
> 
> Thanks,
> Wes
> 
> P.S. - For more info on implementation limitations, see README-11.html
> and appendix C to the Programming Guide included with the 1.1rc2
> distribution.
> 
> 
> feilong chen wrote:
> 
> >
> > Hi,
> >
> > I've installed 1.1rc2 and tried it, and I suspect there is a bug with
> it. I have
> > two pointcuts that worked well with previous versions but not with
> 1.1rc2. Below
> > I describe them in detail.
> >
> > 1.  Then following pointcut stop working since 1.1rc2,
> >
> > /***never reach this point ever since aspectj1.1rc2 used *****/
> >   after(Event e, Plan p) returning(Plan pa): call(public Plan
> createPlan(..)) &&
> > args(e, ..) && target(p){
> >      System.out.println("----------Plan created-----------");
> >
> > }
> >
> > and if I change "after() returning(): call() " to
> "before():execution()", it works.
> >
> >   /***** this one can be reached *************/
> >     before(Event e, Plan p) : execution(public Plan createPlan(..)) &&
> args(e,
> > ..) && target(p){
> >      System.out.println("*************Plan created***********");
> >   }
> >
> >
> >
> > 2. The same thing happens to the pointcut below.
> >
> >
> >   /***never reach this point ever since aspectj1.1rc2 used *****/
> >   before(ajcBasePlanInt pai): call(PlanFSM body()) && target(pai){
> >         System.out.println("----------Enter body()-------------");
> >   }
> >
> >     /***** this one can be reached *************/
> >    before(ajcBasePlanInt pai): execution(PlanFSM body()) && target(pai){
> >         System.out.println("=========Enter body()==========");
> >        }
> >
> >
> >
> > Is this a bug?
> >
> > Thanks in advance.
> >
> > Feilong Chen
> >
> >
> > ------------------------------------------------------------------------
> --------
> > Add photos to your messages with MSN 8.
> <http://g.msn.com/8HMPEN/2749??PS=> Get
> > 2 months FREE*._______________________________________________ aspectj-
> users
> > mailing list aspectj-users@xxxxxxxxxxx
> > http://dev.eclipse.org/mailman/listinfo/aspectj-users
> 
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-users


Back to the top