mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
inspection view: do not create empty package nodes when grouping by directory is enabled + some module-info.java contains problems
This commit is contained in:
+16
-2
@@ -18,14 +18,24 @@ package com.intellij.codeInspection.reference;
|
|||||||
|
|
||||||
import com.intellij.openapi.module.ModuleUtilCore;
|
import com.intellij.openapi.module.ModuleUtilCore;
|
||||||
import com.intellij.psi.PsiJavaFile;
|
import com.intellij.psi.PsiJavaFile;
|
||||||
|
import com.intellij.psi.util.PsiUtil;
|
||||||
|
|
||||||
public class RefJavaFileImpl extends RefFileImpl {
|
public class RefJavaFileImpl extends RefFileImpl {
|
||||||
private final RefModule myRefModule;
|
private final RefModule myRefModule;
|
||||||
|
private final boolean myModuleFile;
|
||||||
|
|
||||||
RefJavaFileImpl(PsiJavaFile elem, RefManager manager) {
|
RefJavaFileImpl(PsiJavaFile elem, RefManager manager) {
|
||||||
super(elem, manager);
|
super(elem, manager, false);
|
||||||
myRefModule = manager.getRefModule(ModuleUtilCore.findModuleForPsiElement(elem));
|
myRefModule = manager.getRefModule(ModuleUtilCore.findModuleForPsiElement(elem));
|
||||||
((RefPackageImpl)getRefManager().getExtension(RefJavaManager.MANAGER).getPackage(elem.getPackageName())).add(this);
|
myModuleFile = PsiUtil.isModuleFile(elem);
|
||||||
|
String packageName = elem.getPackageName();
|
||||||
|
if (!packageName.isEmpty()) {
|
||||||
|
((RefPackageImpl)getRefManager().getExtension(RefJavaManager.MANAGER).getPackage(packageName)).add(this);
|
||||||
|
} else if (myRefModule != null) {
|
||||||
|
((RefModuleImpl)myRefModule).add(this);
|
||||||
|
} else {
|
||||||
|
((RefProjectImpl)manager.getRefProject()).add(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -37,4 +47,8 @@ public class RefJavaFileImpl extends RefFileImpl {
|
|||||||
public RefModule getModule() {
|
public RefModule getModule() {
|
||||||
return myRefModule;
|
return myRefModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean isModuleFile() {
|
||||||
|
return myModuleFile;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -346,7 +346,7 @@ public class RefJavaManagerImpl extends RefJavaManager {
|
|||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public String getGroupName(final RefEntity entity) {
|
public String getGroupName(final RefEntity entity) {
|
||||||
if (entity instanceof RefFile && !(entity instanceof RefJavaFileImpl)) return null;
|
if (entity instanceof RefFile && (!(entity instanceof RefJavaFileImpl) || ((RefJavaFileImpl)entity).isModuleFile())) return null;
|
||||||
return RefJavaUtil.getInstance().getPackageName(entity);
|
return RefJavaUtil.getInstance().getPackageName(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -304,7 +304,7 @@ public class RefJavaUtilImpl extends RefJavaUtil{
|
|||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public String getPackageName(RefEntity refEntity) {
|
public String getPackageName(RefEntity refEntity) {
|
||||||
if (refEntity instanceof RefProject) {
|
if (refEntity instanceof RefProject || refEntity instanceof RefJavaFileImpl && ((RefJavaFileImpl)refEntity).isModuleFile()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
RefPackage refPackage = getPackage(refEntity);
|
RefPackage refPackage = getPackage(refEntity);
|
||||||
|
|||||||
@@ -28,7 +28,12 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
|
|
||||||
public class RefFileImpl extends RefElementImpl implements RefFile {
|
public class RefFileImpl extends RefElementImpl implements RefFile {
|
||||||
RefFileImpl(PsiFile elem, RefManager manager) {
|
RefFileImpl(PsiFile elem, RefManager manager) {
|
||||||
|
this(elem, manager, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected RefFileImpl(PsiFile elem, RefManager manager, boolean addParent) {
|
||||||
super(elem, manager);
|
super(elem, manager);
|
||||||
|
if (!addParent) return;
|
||||||
final VirtualFile vFile = elem.getVirtualFile();
|
final VirtualFile vFile = elem.getVirtualFile();
|
||||||
if (vFile == null) return;
|
if (vFile == null) return;
|
||||||
final VirtualFile parentDirectory = vFile.getParent();
|
final VirtualFile parentDirectory = vFile.getParent();
|
||||||
|
|||||||
Reference in New Issue
Block a user