mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix NPE when trying to show todo view for unphysical file EA-261109
GitOrigin-RevId: eb34ff58d1cfbb50a671d2742db878a666c28341
This commit is contained in:
committed by
intellij-monorepo-bot
parent
d5d82af58a
commit
bc88c2115b
+12
-5
@@ -5,6 +5,7 @@ import com.intellij.ide.todo.TodoConfiguration;
|
||||
import com.intellij.ide.todo.TodoIndexPatternProvider;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.impl.PsiManagerEx;
|
||||
import com.intellij.psi.impl.cache.TodoCacheManager;
|
||||
@@ -84,17 +85,23 @@ public class PsiTodoSearchHelperImpl implements PsiTodoSearchHelper {
|
||||
|
||||
@Override
|
||||
public int getTodoItemsCount(@NotNull PsiFile file) {
|
||||
int count = TodoCacheManager.SERVICE.getInstance(myManager.getProject()).getTodoCount(file.getVirtualFile(), TodoIndexPatternProvider.getInstance());
|
||||
if (count != -1) return count;
|
||||
VirtualFile virtualFile = file.getVirtualFile();
|
||||
if (virtualFile != null) {
|
||||
int count = TodoCacheManager.SERVICE.getInstance(myManager.getProject()).getTodoCount(virtualFile, TodoIndexPatternProvider.getInstance());
|
||||
if (count != -1) return count;
|
||||
}
|
||||
return findTodoItems(file).length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTodoItemsCount(@NotNull PsiFile file, @NotNull TodoPattern pattern) {
|
||||
int count = TodoCacheManager.SERVICE.getInstance(myManager.getProject()).getTodoCount(file.getVirtualFile(), pattern.getIndexPattern());
|
||||
if (count != -1) return count;
|
||||
VirtualFile virtualFile = file.getVirtualFile();
|
||||
int count = 0;
|
||||
if (virtualFile != null) {
|
||||
count = TodoCacheManager.SERVICE.getInstance(myManager.getProject()).getTodoCount(virtualFile, pattern.getIndexPattern());
|
||||
if (count != -1) return count;
|
||||
}
|
||||
TodoItem[] items = findTodoItems(file);
|
||||
count = 0;
|
||||
for (TodoItem item : items) {
|
||||
if (item.getPattern().equals(pattern)) count++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user