Community
Participate
Working Groups
The following precedence declaration is ambigous and should not be allowed: public aspect Coordinator { declare precedence : *, Tracing, *; } To see why, examine the following example. Two aspects declare before advice on doSomething(). Should Notification come before or after Tracing? --- public class SomeObject { public static void main(String[] args) { new SomeObject().doSomething(); } public void doSomething() { System.out.println("Finally doing something."); } } public aspect Tracing { before() : call(void doSomething()){ System.out.println("Tracing: logging call."); } } public aspect Notification { before() : call(void doSomething()){ System.out.println("Notification:" + " Sending update somewhere."); } } ---
fixed in cvs, test in bugs/CircularPrecedence.java