Bug 246281

Summary: [plan] incremental compilation when changing annotations on a type can fail
Product: [Tools] AspectJ Reporter: Andrew Clement <aclement>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: DEVELOPMENT   
Target Milestone: 1.6.2   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Andrew Clement CLA 2008-09-04 16:30:56 EDT
If a pointcut conditionally advises some type based on an annotation being on a supertype in its hierarchy then AspectJ will fail to undo the weave if the super type has the annotation removed and an incremental compilation is performed.  The code in AjState that checks what constitutes a structure change doesn't take annotations into account and because it can affect this situation, it should.
Comment 1 Andrew Clement CLA 2008-09-04 17:06:21 EDT
MultiProjectIncremental test added and fix committed.  The fix is a little lazy in that changing the order of two annotations will be considered a serious change, but that doesn't happen very often so I don't believe is worth checking for.

More serious is that it may not consider the change to an annotation value a structural change - but I can't write a testcase where that leads to problems...