Summary: | [plan] [deow] declare warning change not picked up on incremental compile | ||||||
---|---|---|---|---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Ron Bodkin <rbodkin+LISTS> | ||||
Component: | Compiler | Assignee: | aspectj inbox <aspectj-inbox> | ||||
Status: | NEW --- | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | P3 | CC: | aclement | ||||
Version: | DEVELOPMENT | ||||||
Target Milestone: | --- | ||||||
Hardware: | PC | ||||||
OS: | Windows XP | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Ron Bodkin
2007-03-11 00:51:30 EST
Created attachment 60514 [details]
Sample AJDT project showing incremental compilation failure.
If you change the declare warning to the following it works: declare warning: call(* *(..) throws RemoteException): "calling remote"; However, if you try to change just the text of the warning, the problems are not updated with an incremental build (you need to clean and rebuild). I would like the old AJDT build button back. 50% of my builds are now done with the painful clean & rebuild process since even if I turn off build automatically I still get failing incremental builds quite frequently. the problem here is that the DeclareWarning shadow munger is built early on in the process, unlike the other advice shadow mungers. So the normal checks about what has changed in CrosscuttingMembers.replaceWith() aren't quite right, it doesn't see the shadow munger as new by the time the method is called. I think we will have to special case for this kind of shadow munger. unsetting the target field which is currently set for something already released |