RE: [abc] Question about Aspect precedence...

From: Eric Bodden <eric.bodden@mail.mcgill.ca>
Date: Tue Jan 30 2007 - 21:09:57 GMT

> 1, Given two pointcuts which match the same joinpoint and
> when no precedence is explicitly specified which one is applied first.

It depends on the advice that actually use the pointcut and where those
advice are located. If they are in the same aspect, lexical ordering
play's a role (see AspectJ docs), otherwise it's totally undefined, i.e.
random.
 
> 2, If I was to import bytecode which has aspects already
> woven into it does abc let me reweave these aspects. The
> authors of the above mentioned paper say that "AspectJ 1.2"
> lets you do this if your bytecode was produced using an
> "AspectJ compiler" with the Xreweavable option. I hate it
> when they think all AspectJ compilers are the same. There is
> no mention whether this is ajc or abc.

No, abc has no such option. Woven advice methods look to abc like normal
methods. We could do something more clever, but right now we don't.

> 3, If abc does allow reweaving of aspects from imported
> bytecode then how is precedence of aspects defined in this
> case. Specifically: if an imported aspect and an aspect from
> my own code now interfere at a joinpoint which one gets
> higher precedence assuming that no precedence was explicitly defined.

As I said, we don't. But I am not even sure how reweaving is defined in
ajc. I think it just means that you can extract all the woven code out
again (basically you get the old base code back) and reweave on the pure
Java code.

Eric
Received on Tue Jan 30 21:10:19 2007

This archive was generated by hypermail 2.1.8 : Tue Mar 06 2007 - 16:13:50 GMT