Bug 106504 - Support "declare precedence ..." for LTW using aop.xml
Summary: Support "declare precedence ..." for LTW using aop.xml
Status: REOPENED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows XP
: P5 enhancement (vote)
Target Milestone: 1.5.0RC1   Edit
Assignee: Alexandre Vasseur CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-09 11:48 EDT by Matthew Webster CLA
Modified: 2009-08-30 02:48 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Webster CLA 2005-08-09 11:48:47 EDT
The current AspectJ 5 LTW specification allows simple concrete aspects to be 
defined in aop.xml. They may extend an abstract aspect and define a 
single "scoping" pointcut. I think it would be very useful to be able to 
declare aspect precedence in a similar way allowing aspects to be deployed 
without any specific precedence leaving any decision to a systems 
administrator. The syntax might look like this:

<aspectj>
      <aspects>
            <concrete-aspect
                  name="com.xyz.MyPrecedence"
                  precedence="*..*Security*, Logging+, *"
            />
      </aspects>
</aspectj>

Any potential conflicts are already handled by the compiler.
Comment 1 Alexandre Vasseur CLA 2005-10-27 05:55:44 EDT
so in that case we just need to spot:
- a <concrete-aspect without extends attribute, and with NO nested pointcut, but
with a precedence clause (else it would be a NOOP aspect)

then we just do a codegen for
@DeclarePrecedence(your precedence)
@Aspect public class ...theName... /*no extends*/ {
   //nothing
}

planning for RC1, as precedence attribute is already impl. for regular
concrete-aspect.
Comment 2 Alexandre Vasseur CLA 2005-10-27 07:43:03 EDT
impl
Comment 3 Eclipse Webmaster CLA 2009-08-30 02:48:49 EDT
LATER/REMIND bugs are being automatically reopened as P5 because the LATER and REMIND resolutions are deprecated.