resolve to .java files, not only to .class

This commit is contained in:
Dmitry Jemerov
2012-01-25 13:53:28 +01:00
parent 86143eefe3
commit 84f4b2b829
@@ -116,13 +116,18 @@ public class CoreJavaFileManager extends PackageIndex implements JavaFileManager
@Nullable
private PsiClass findClassInClasspathEntry(String qName, File file) {
String fileName = qName.replace(".", "/") + ".class";
// TODO handle inner classes correctly
String fileName = qName.replace(".", "/") + ".java";
VirtualFile classFile = findUnderClasspathEntry(file, fileName);
if (classFile == null) {
fileName = qName.replace(".", "/") + ".class";
classFile = findUnderClasspathEntry(file, fileName);
}
if (classFile != null) {
PsiFile psiFile = myPsiManager.findFile(classFile);
if (!(psiFile instanceof PsiJavaFile)) {
throw new UnsupportedOperationException("no java file for .class");
throw new UnsupportedOperationException("no java file for " + fileName);
}
final PsiClass[] classes = ((PsiJavaFile)psiFile).getClasses();
if (classes.length == 1) {