fix: virtualFile.isValid()
This commit is contained in:
@@ -7,7 +7,14 @@ import com.intellij.ide.projectView.impl.nodes.PsiFieldNode;
|
||||
import com.intellij.ide.projectView.impl.nodes.PsiFileNode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.JavaDirectoryService;
|
||||
import com.intellij.psi.PsiDirectory;
|
||||
import com.intellij.psi.PsiField;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiJavaCodeReferenceElement;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.intellij.psi.PsiPackage;
|
||||
import com.intellij.psi.PsiType;
|
||||
import com.intellij.psi.impl.source.PsiClassReferenceType;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import io.github.linwancen.plugin.show.bean.SettingsInfo;
|
||||
@@ -68,7 +75,7 @@ public class JavaTree {
|
||||
|
||||
// On Packages View, Project Files View
|
||||
@Nullable VirtualFile virtualFile = node.getVirtualFile();
|
||||
if (virtualFile == null || !virtualFile.isDirectory()) {
|
||||
if (virtualFile == null || !virtualFile.isValid() || !virtualFile.isDirectory()) {
|
||||
return null;
|
||||
}
|
||||
@Nullable PsiDirectory psiDirectory = PsiManager.getInstance(project).findDirectory(virtualFile);
|
||||
|
||||
@@ -53,6 +53,9 @@ public class FileInfo extends SettingsInfo {
|
||||
return null;
|
||||
}
|
||||
@NotNull VirtualFile file = viewProvider.getVirtualFile();
|
||||
if (!file.isValid()) {
|
||||
return null;
|
||||
}
|
||||
@NotNull Project project = psiFile.getProject();
|
||||
return new FileInfo(file, document, project, FuncEnum.LINE);
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ public class CacheUpdateEditorListener implements FileEditorManagerListener {
|
||||
public void selectionChanged(@NotNull FileEditorManagerEvent event) {
|
||||
@NotNull Project project = event.getManager().getProject();
|
||||
@Nullable VirtualFile file = event.getNewFile();
|
||||
if (file == null) {
|
||||
if (file == null || !file.isValid()) {
|
||||
return;
|
||||
}
|
||||
ApplicationManager.getApplication().executeOnPooledThread(() -> {
|
||||
|
||||
@@ -16,7 +16,7 @@ public class TreeExt {
|
||||
|
||||
public static @Nullable String doc(@NotNull ProjectViewNode<?> node) {
|
||||
@Nullable VirtualFile file = node.getVirtualFile();
|
||||
if (file == null) {
|
||||
if (file == null || !file.isValid()) {
|
||||
return null;
|
||||
}
|
||||
return TreeExt.extDoc(file);
|
||||
|
||||
@@ -36,7 +36,7 @@ public class FileOptListener implements BulkFileListener {
|
||||
private static void forEvent(@NotNull VFileEvent event) {
|
||||
@NotNull List<FileLoader> list = FileLoader.EPN.getExtensionList();
|
||||
@Nullable VirtualFile file = event.getFile();
|
||||
if (file == null) {
|
||||
if (file == null || !file.isValid() || file.isDirectory()) {
|
||||
return;
|
||||
}
|
||||
if (event instanceof VFileMoveEvent) {
|
||||
|
||||
@@ -23,7 +23,7 @@ public class FileSelectChangeListener implements FileEditorManagerListener {
|
||||
return;
|
||||
}
|
||||
@Nullable VirtualFile file = event.getOldFile();
|
||||
if (file == null) {
|
||||
if (file == null || !file.isValid()) {
|
||||
return;
|
||||
}
|
||||
if (file.exists()) {
|
||||
|
||||
@@ -43,7 +43,7 @@ public class JsLangDoc extends BaseLangDoc {
|
||||
public @Nullable <T extends SettingsInfo> String treeDoc(@NotNull T info, @NotNull ProjectViewNode<?> node,
|
||||
@NotNull Project project) {
|
||||
@Nullable VirtualFile virtualFile = node.getVirtualFile();
|
||||
if (virtualFile == null) {
|
||||
if (virtualFile == null || !virtualFile.isValid()) {
|
||||
return null;
|
||||
}
|
||||
@Nullable PsiFile psiFile = PsiManager.getInstance(project).findFile(virtualFile);
|
||||
|
||||
@@ -43,7 +43,7 @@ public class PhpLangDoc extends BaseTagLangDoc<PhpDocComment> {
|
||||
Object value = node.getValue();
|
||||
if (value instanceof PsiElement) {
|
||||
@NotNull PsiElement psiElement = (PsiElement) value;
|
||||
if (psiElement.getLanguage() == PhpLanguage.INSTANCE) {
|
||||
if (psiElement.isValid() && psiElement.getLanguage() == PhpLanguage.INSTANCE) {
|
||||
@NotNull PsiElement[] children = psiElement.getChildren();
|
||||
for (PsiElement child : children) {
|
||||
@Nullable PsiComment comment = PsiTreeUtil.getChildOfType(child, PsiComment.class);
|
||||
|
||||
@@ -27,7 +27,7 @@ public class FirstDoc {
|
||||
return null;
|
||||
}
|
||||
@Nullable VirtualFile virtualFile = node.getVirtualFile();
|
||||
if (virtualFile == null || virtualFile.isDirectory()) {
|
||||
if (virtualFile == null || !virtualFile.isValid() || virtualFile.isDirectory()) {
|
||||
return null;
|
||||
}
|
||||
Project project = node.getProject();
|
||||
|
||||
Reference in New Issue
Block a user