Community
Participate
Working Groups
The type CreateMethodMappingCompletionProposal is now a team sitting in a role file, which causes grief in the java model. Especially if that inner team has nested roles we see lots of JavaModelExceptions (does not exist). Can be triggered from HierarchyResolver.rememberWithMemberTypes(). The issue is that the SourceTypes used are children of the enclosing team, while physically they should be seen as children of the role file.
Created attachment 178684 [details] implementation incl tests This patch hooks into JavaElement.getElementInfo(monitor) in order to map elements representing a role file (or a nested role within a role file). * search (using search engine) ROFI via the enclosing team, do this recursively for all enclosing nested teams * be careful that exists() on a ROFI IType answers true only if it is the canonical representation (i.e.,, contained in the ROFI CompilationUnit not in the team) * OTType.getRoleType() no longer directly searches role files, but relies on getElementInfo() doing this, we only ensure that the original handle (stored in the element info) is used. Includes a new test under AllExternalUnboundRoleTests.
Patch has been committed as r784, r785 After the tests have been fundamentally repaired in r786-r788 they indicate that the fix works OK.
Verified using I201009211735