From ac878c610bdf8b0fa349b564502db211343ad427 Mon Sep 17 00:00:00 2001 From: Serega Vasiliev Date: Thu, 20 Dec 2012 14:43:57 +0100 Subject: [PATCH] fixed file reference resolve for maven (IDEA-80267) --- .../providers/FilePathReferenceProvider.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FilePathReferenceProvider.java b/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FilePathReferenceProvider.java index b7c9419c06fd..7338c9798308 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FilePathReferenceProvider.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FilePathReferenceProvider.java @@ -138,20 +138,17 @@ public class FilePathReferenceProvider extends PsiReferenceProvider { } } - for (Module module : modules) { - moduleRootManager = ModuleRootManager.getInstance(module); - VirtualFile[] sourceRoots = moduleRootManager.getSourceRoots(); - for (VirtualFile root : sourceRoots) { - final PsiDirectory directory = psiManager.findDirectory(root); - if (directory != null) { - final PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage(directory); - if (aPackage != null && aPackage.getName() != null) { - // package prefix - result.add(PackagePrefixFileSystemItem.create(directory)); - } - else { - result.add(directory); - } + VirtualFile[] sourceRoots = moduleRootManager.orderEntries().recursively().withoutSdk().withoutLibraries().getSourceRoots(); + for (VirtualFile root : sourceRoots) { + final PsiDirectory directory = psiManager.findDirectory(root); + if (directory != null) { + final PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage(directory); + if (aPackage != null && aPackage.getName() != null) { + // package prefix + result.add(PackagePrefixFileSystemItem.create(directory)); + } + else { + result.add(directory); } } }