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

Bug 365065

Summary: [types] Handle discouraged member names gracefully
Product: [Modeling] TMF Reporter: Jan Koehnlein <jan>
Component: XtextAssignee: Project Inbox <tmf.xtext-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3    
Version: 2.1.1   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Jan Koehnlein CLA 2011-11-29 09:40:25 EST
Even though it's discouraged, Java member names can contain dots and dollars.
The ClasspathTypeProvider can deal with that situation. But JDT-based ones can't as the resource URIs are derived form the JDT signature, which is a plain String. 
So it is impossible to distinguish a class 'Outer$Inner' from an inner class 'Inner' inside the top level class 'Outer'.

This is especially annoying, as Google Guice prefixes copied classes from Guava with a $.

See org.eclipse.xtext.common.types.access.impl.ClasspathTypeProviderTest.testFindTypeByName_$ImmutableList()
org.eclipse.xtext.common.types.access.jdt.JdtTypeProvider.createMirrorForFQN(String) (second if)