Bug 338160

Summary: [itit] Ability to easily recognize intertype inner type declarations in the model
Product: [Tools] AspectJ Reporter: Andrew Eisenberg <andrew.eisenberg>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X   
Whiteboard:

Description Andrew Eisenberg CLA 2011-02-24 17:15:59 EST
Currently, it is not simplet to determine if a class declaration is actually an intertype inner type.  There are several steps required to do this:

1. Is this an public static final inner class of an aspect?
2. If so, grab the crosscutting model and check to see if there are any outgoing DeclaredOn relationships.
3. If yes, then ITIT.

There are 2 problems here.  We will not be able to determine if a type is an ITIT if 

1. If there has not been a successful build yet, or
2. If the ITIT does not have a valid target type.

The solution that I currently have is sufficient for PushIn refactoring, but it is not ideal for the above reasons.  Once I start looking at searching for ITITs, this issue may become more important.