From 84f4b2b8294063d44b2b30e15db874a7e70746e8 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 25 Jan 2012 13:53:28 +0100 Subject: [PATCH] resolve to .java files, not only to .class --- .../src/com/intellij/core/CoreJavaFileManager.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/core/CoreJavaFileManager.java b/java/java-psi-impl/src/com/intellij/core/CoreJavaFileManager.java index 8925fca42e3c..a3672df32892 100644 --- a/java/java-psi-impl/src/com/intellij/core/CoreJavaFileManager.java +++ b/java/java-psi-impl/src/com/intellij/core/CoreJavaFileManager.java @@ -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) {