Bug 336185 - [ITIT] Content assist involving intertype innertypes do not work in the target type
Summary: [ITIT] Content assist involving intertype innertypes do not work in the targe...
Status: RESOLVED FIXED
Alias: None
Product: AJDT
Classification: Tools
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: Macintosh Mac OS X
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: AJDT-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-02 23:00 EST by Andrew Eisenberg CLA
Modified: 2011-02-16 12:45 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Eisenberg CLA 2011-02-02 23:00:54 EST
In this code:

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

public class City {
public static void main(String[] args) { 
		City.Keys.CITY.get();
}
}

Invoking content assist after the City. will not bring up Keys as a proposal, even though it should.

We need a way of discovering that a certain type has an ITIT associated with it and only then can it appear in content assist.

When invoking content assist when not inside the target type, the ITIT is added to the target type through the ITDAwareSourceElementInfo.  So, in this situation, it is not a problem.
Comment 1 Andrew Eisenberg CLA 2011-02-04 17:43:38 EST
The way to fix this is to appropriately use the AspectsConvertingParser class to synthetically push in ITITs to the target type for the purposes of content assist and code select.
Comment 2 Andrew Eisenberg CLA 2011-02-04 18:35:08 EST
Now working for both target types and other types.
Comment 3 Andrew Eisenberg CLA 2011-02-04 19:29:36 EST
Committed with regression tests.
Comment 4 Andrew Eisenberg CLA 2011-02-16 12:45:44 EST
fixed.