[java] descriptor lookup in multi-release .jars (inline)

This commit is contained in:
Roman Shevchenko
2016-10-20 17:32:33 +02:00
parent d799dad9ff
commit 4e0aa95bf7
@@ -63,7 +63,10 @@ public class ModuleHighlightUtil {
if (index.isInLibraryClasses(file)) {
VirtualFile classRoot = index.getClassRootForFile(file);
if (classRoot != null) {
VirtualFile descriptorFile = findModuleDescriptor(classRoot);
VirtualFile descriptorFile = classRoot.findChild(PsiJavaModule.MODULE_INFO_CLS_FILE);
if (descriptorFile == null) {
descriptorFile = classRoot.findFileByRelativePath("META-INF/versions/9/" + PsiJavaModule.MODULE_INFO_CLS_FILE);
}
if (descriptorFile != null) {
PsiFile psiFile = PsiManager.getInstance(project).findFile(descriptorFile);
if (psiFile instanceof PsiJavaFile) {
@@ -88,14 +91,6 @@ public class ModuleHighlightUtil {
}
}
private static VirtualFile findModuleDescriptor(VirtualFile classRoot) {
VirtualFile result = classRoot.findChild(PsiJavaModule.MODULE_INFO_CLS_FILE);
if (result == null) {
result = classRoot.findFileByRelativePath("META-INF/versions/9/" + PsiJavaModule.MODULE_INFO_CLS_FILE);
}
return result;
}
@Nullable
static HighlightInfo checkFileName(@NotNull PsiJavaModule element, @NotNull PsiFile file) {
if (!MODULE_INFO_FILE.equals(file.getName())) {