[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [aspectj-users] More precedence
|
It looks to me like
declare dominates : Super+, ...
is just broken now. Anyone care to submit a bug?
Wes
------------- DominatesAdvice.java
public class DominatesAdvice {
public static void main (String[] args) {
new C().run();
}
pointcut run() : target(C) && call(void run());
static void log(String s) {
System.out.println(""+s);
}
}
class C { void run() {}}
class Super {}
aspect A extends Super {
before () : DominatesAdvice.run() {
DominatesAdvice.log("A");
}
}
aspect B {
before () : DominatesAdvice.run() {
DominatesAdvice.log("B");
}
aspect Dominates {
declare dominates : Super+, B; // BUG: produces B, A
//declare dominates : A, B; // ok: produces A, B
}
> -----Original Message-----
> From: Lesiecki Nicholas [mailto:ndlesiecki@xxxxxxxxx]
> Sent: Tuesday, December 31, 2002 8:36 AM
> To: isberg@xxxxxxxx; aspectj-users@xxxxxxxxxxx
> Cc: support@xxxxxxxxxxx
> Subject: RE: [aspectj-users] More precedence
>
>
> Hello All,
>
> Sorry, my message got truncated. Unfortunately I've left the
> sample code at
> home.
>
> The upshot is that for:
>
> declare dominates : Security+, *;
>
> the precedence appears to be:
>
> Tracing
> Notification
> MoreSecurity
> CustomSecurity
> Security (abstract)
> Security (a second time)
> (JoinPoint)
>
> i.e. Security LAST.
>
> For:
>
> declare dominates : *Security*, *;
>
> The order is:
>
> MoreSecurity
> CustomSecurity
> Security (abstract)
> Security (a second time)
> Tracing
> Notification
> (JoinPoint)
>
> i.e. Security FIRST.
>
> Why should Security+ and *Security* produce different
> results? They both
> (should) select the same set of Concrete aspects (CustomSecurity and
> MoreSecurity). Am I missing something?
>
> BTW, the sample code is ridiculously simple. Each aspect has
> a single piece
> of before advice that prints what it's doing to the console.
> All of the
> advice affects call(void doSomething()). The only
> doSomething() method in
> the compilation unit appears in SomeObject.
>
> SomeObject's main:
> main(){
> new SomeObject().doSomething();
> }
>
> Cheers,
> nick
> --- isberg@xxxxxxxx wrote:
> > Did the mailing list clip this question?
> > Did you decide against it, after accidental send?
> >
> > (btw, thanks for the bugs)
> >
> > Wes
> >
> > > -----Original Message-----
> > > From: Lesiecki Nicholas [mailto:
> > > Sent: Monday, December 30, 2002 9:16 PM
> > > To: aspectj-users@xxxxxxxxxxx
> > > Subject: [aspectj-users] More precedence
> > >
> > >
> > > Ok, I have several aspects that affect a single join point.
> > > They all define
> > > a single piece of before advice that prints a message about
> > > what they're
> > > doing.
> > >
> > > Aspects:
> > >
> > > Security (abstract)
> > > |
> > > --CustomSecurity
> > > |
> > > --MoreSecurity
> > >
> > > Tracing
> > >
> > > Notification
> > >
> > > I have the following declaration:
> > >
> > > declare dominates : Security+, *;
> > >
> > > __________________________________________________
> > > Do you Yahoo!?
> > > Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> > > http://mailplus.yahoo.com
> > > _______________________________________________
> > > aspectj-users mailing list
> > > aspectj-users@xxxxxxxxxxx
> > > http://dev.eclipse.org/mailman/listinfo/aspectj-users
> > >
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
>