[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-dev] if-pointcuts and binding

Thanks - programming guide changed to read:

  Picks out each join point where the boolean expression
  evaluates to true.  The boolean expression used can only
  access static members, parameters exposed by the enclosing
  pointcut or advice, and thisJoinPoint forms.  In
  particular, it cannot call non-static methods on the aspect 
  or use return values or exceptions exposed by after advice.

Wes

> ------------Original Message------------
> From: "Gregor Kiczales" <gregor@xxxxxxxxx>
> To: aspectj-dev@xxxxxxxxxxx
> Date: Wed, Oct-13-2004 10:36 AM
> Subject: RE: [aspectj-dev] if-pointcuts and binding
>
> It should say something like:
> 
> bound in the pointcut parameters or
> bound in the pointcut parameters of the enclosing advice
> 
> 
> the 'b' in returning(boolean b) isn't a pointcut parameter,
> since it isn't a property of the join point, it is a special
> value that is available only when returning from the JP.
> The real pointcut parameters are available on the way in and
> out of a join point.
> 
> 
> > -----Original Message-----
> > From: aspectj-dev-admin@xxxxxxxxxxx 
> > [mailto:aspectj-dev-admin@xxxxxxxxxxx] On Behalf Of Eric Bodden
> > Sent: Wednesday, October 13, 2004 9:07 AM
> > To: aspectj-dev@xxxxxxxxxxx
> > Subject: [aspectj-dev] if-pointcuts and binding
> > 
> >  
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > Hi again.
> > 
> > I am somewhat confused on what kind of expressions are allowed in an
> > if-pintcut and what are not wrt. binding: The online help states...
> > 
> > if(BooleanExpression)
> > Picks out each join point where the boolean expression evaluates to
> > true. The boolean expression used can only access static members,
> > variables exposed by teh enclosing pointcut or advice, and
> > thisJoinPoint forms. In particular, it cannot call non-static methods
> > on the aspect. 
> > 
> > By reading "the enclosing advice", I actually assumed that something
> > like this would be a legitimate statement:
> > 
> > after() returning(boolean b): call(* boolean *.foo()) && if(b) {
> > ...
> > }
> > 
> > However, AspectJ tells me "b cannot be resolved". So what is meant by
> > a binding through an enclosing advice, if not this here?
> > 
> > Thanks in advance for clarification,
> > 
> > Eric
> > 
> > - --
> > Eric Bodden
> > Chair I2 for Programming Languages and Program Analysis
> > RWTH Aachen University 
> > 
> > -----BEGIN PGP SIGNATURE-----
> > Version: PGP 8.0.3
> > 
> > iQA/AwUBQW1SnswiFCm7RlWCEQImPQCgzQtRrGnDPaS2QL5nsqjoErhGoD8An2oT
> > WbDXrz/ynMmOHmkfr5+JyFCm
> > =xXwC
> > -----END PGP SIGNATURE-----
> > 
> > 
> > _______________________________________________
> > aspectj-dev mailing list
> > aspectj-dev@xxxxxxxxxxx
> > http://dev.eclipse.org/mailman/listinfo/aspectj-dev
> > 
> 
> 
> _______________________________________________
> aspectj-dev mailing list
> aspectj-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-dev
>