Bug 310503

Summary: [plan] Declared annotation for 'enhancement' of existing annotations
Product: [Tools] AspectJ Reporter: Andrew Clement <aclement>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P3    
Version: DEVELOPMENT   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Andrew Clement CLA 2010-04-26 13:18:08 EDT
Sometimes the target of a 'declare @' already has the annotation.  This results in an error about a clash.  It might be nice to allow the declare to augment the annotation that is there.

@SomeAnno
class Foo {
}

aspect X {
  declare @type: Foo: @SomeAnno(value="filled in")
}

So the aspect enhances the existing annotation by filling in the specified value.

We would have to think about what to do if:
- 'value' already exists in the target anno
- other values already exist in the target anno
Comment 1 Andrew Clement CLA 2010-05-24 21:10:29 EDT
believe there is another related issue concerning declare precedence and multiple declare @s
Comment 2 Andrew Clement CLA 2013-06-24 11:04:30 EDT
unsetting the target field which is currently set for something already released