Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Static conditional poincuts


On Apr 21, 2009, at 5:27 PM, Andrew Eisenberg wrote:

This is currently not a feature on our list.  However, we would
appreciate if you could raise an enhancement request.  I do notice
that scope is built on top of the Aspect Bench Compiler (ABC), not
AJC.  The focus of ABC is extensibility and experimentation, while AJC
focuses on efficiency and stability in a production environment.  So,
it may not be a simple port of the mechanism.

Do you have a specific aspect that is suffering from a large runtime
overhead?  If so, we might be able to look at it and suggest
alternatives that are more efficient.


Hi,
We want to advise method calls where the invoked method on the target, is defined on an interface and not on possible concrete subclasses. So if we have an interface "I" and possible classes implementing the interface "I", we want to be sure that the invoked method was declared in "I" or sub interfaces, but not in a concrete class.... This information should be available statically (if i'm correct..), but currently we need to use dynamic join points to gather this info.. as follows:

aspect A {
  before(I o) : call(*.*(..)) && target(o) && !within(A) {
if(thisJoinPoint.getSignature().getDeclaringType().isInterface()) {
       // do something.. with o
     }
  }
}

We could like to put the condition, so that the weaver does not weave the aspect for our particular case.. (i.e. somehow describing it as a pointcut) but probably this is not even possible with SCoPE..

The problem is that our application needs to be very fast, and computing dyn joinpoints is already introducing too much perturbation..

   Probably there is a nicer way to do that...

Alex



--a

On Tue, Apr 21, 2009 at 6:56 AM, Alex Villazon
<alex.villazon@xxxxxxxxxxx> wrote:
Hi,
   Is there a mechanism similar to SCoPE
http://www.graco.c.u-tokyo.ac.jp/ppp/index.php?Projects%2Fscope
implemented (or planned) for AspectJ?

This feature seems to be very useful to avoid heavy runtime tests...

 Any comments?

Alex

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users



Back to the top