Bug 313026 - declare annotation - augmentation/overriding and precedence
Summary: declare annotation - augmentation/overriding and precedence
Status: NEW
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 enhancement with 19 votes (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-15 20:00 EDT by Andrew Clement CLA
Modified: 2014-09-18 05:16 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Clement CLA 2010-05-15 20:00:07 EDT
3 scenarios I want to tackle here:

1) augmentation

this is where the declare is 'filling in' some values that the already annotated target doesn't have.

2) overriding

this is where the aspect should replace the annotation the target already has.

3) precedence

this is where two aspects target the same thing, by appropriate use of precedence the 'most important' aspect should have its declare apply
Comment 1 alcoholitro CLA 2010-09-17 04:57:20 EDT
Hi!

Is there any news on this subject ?

I've linked this improvement to Spring-ROO AspectJ generation. It could be very useful for both.

JIRA: 

* https://jira.springsource.org/browse/ROO-1390

Thank you !
Comment 2 Enrique Ruiz (DiSiD) CLA 2013-04-13 13:47:45 EDT
AspectJ team, could you give us any feedback about this enhancement?

Thanks
Comment 3 Andrew Clement CLA 2013-04-15 13:24:22 EDT
Whoa, I came back to this bug to answer the most recent comment and I find it now has 17 votes...

I'd like to get to this but can't promise when. Right now we are starting to help the Eclipse Compiler team get Java8 done, then I'll be starting work on 1.8.0.M1 to integrate Java8 support into AspectJ. This could take up a bunch of time.

I'd be interested in preferences on which of those 3 is more important to those voting/commenting. Is it (1)? That may help prioritize any work done here.
Comment 4 gmale CLA 2013-04-22 00:39:21 EDT
For me, personally (I'm some random Joe who voted for this), (2) and (3) are the most useful. Or course, (3) would be the most robust.

I voted for this in response to my StackOverflow question and option (1) would not solve the original problem I had:
http://stackoverflow.com/questions/4106187/aspectj-how-to-replace-an-existing-annotation

That's my 2 cents.

PS thanks for all the work you do. AspectJ is BY FAR my favorite Java extension/framework!
Comment 5 Andrew Clement CLA 2013-06-24 11:08:06 EDT
unsetting the target field which is currently set for something already released