mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[java] skip module search if there is no module-info/manifest in module (IDEA-278296)
GitOrigin-RevId: f5a46235791fa8461334d06f747a3a52e443eb7a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c89147b17a
commit
a471e820c2
+8
@@ -6,6 +6,7 @@ import com.intellij.openapi.fileTypes.FileTypeRegistry;
|
||||
import com.intellij.openapi.fileTypes.LanguageFileType;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleManager;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.roots.ProjectFileIndex;
|
||||
@@ -16,6 +17,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.java.stubs.index.JavaModuleNameIndex;
|
||||
import com.intellij.psi.impl.light.LightJavaModule;
|
||||
import com.intellij.psi.search.FilenameIndex;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.ProjectScope;
|
||||
import com.intellij.psi.util.CachedValueProvider.Result;
|
||||
@@ -111,6 +113,12 @@ public final class JavaModuleGraphUtil {
|
||||
@Nullable
|
||||
private static PsiJavaModule findDescriptionByModuleInner(@NotNull Module module, boolean inTests) {
|
||||
Project project = module.getProject();
|
||||
GlobalSearchScope moduleScope = module.getModuleScope();
|
||||
if (!DumbService.isDumb(project) &&
|
||||
FilenameIndex.getFilesByName(project, PsiJavaModule.MODULE_INFO_FILE, moduleScope).length == 0 &&
|
||||
FilenameIndex.getFilesByName(project, JarFile.MANIFEST_NAME, moduleScope).length == 0) {
|
||||
return null;
|
||||
}
|
||||
JavaSourceRootType rootType = inTests ? JavaSourceRootType.TEST_SOURCE : JavaSourceRootType.SOURCE;
|
||||
List<VirtualFile> sourceRoots = ModuleRootManager.getInstance(module).getSourceRoots(rootType);
|
||||
List<VirtualFile> files = ContainerUtil.mapNotNull(sourceRoots, root -> root.findChild(PsiJavaModule.MODULE_INFO_FILE));
|
||||
|
||||
Reference in New Issue
Block a user