Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 336158

Summary: Referencing ITIT using semi-qualified name from inside target type
Product: [Tools] AspectJ Reporter: Andrew Eisenberg <andrew.eisenberg>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: P3 CC: aclement
Version: unspecified   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X   
Whiteboard:

Description Andrew Eisenberg CLA 2011-02-02 16:03:35 EST
It's not clear to me that this should work, but aspectj is giving me a compile error here:

public class City {

	public static void main(String[] args) { 
		Keys.City.get();  // Keys.City cannot be resolved
	}
}

privileged aspect City_Roo_Op4j {
    public static class City.Keys {
        public static final Function<Object, City> CITY = null;
    }
}

I would expect this to work since this works when a regular inner type is accessed from inside the class that defines it, but maybe this shouldn't be allowed (if so, I'd recommend a more precise error message).
Comment 1 Andrew Clement CLA 2011-02-02 20:01:44 EST
err....  the member in the ITD'd type is called CITY, not City...
Comment 2 Andrew Eisenberg CLA 2011-02-03 00:30:31 EST
Ugggh...