Skip to content

Commit 927a16a

Browse files
committed
fix removing Project from cache when Project close
1 parent f326589 commit 927a16a

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/main/java/ai/deepcode/jbplugin/core/AnalysisData.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ static Set<Project> getAllCachedProject() {
109109
static void removeFilesFromCache(@NotNull Collection<PsiFile> files) {
110110
try {
111111
info("Request to remove from cache " + files.size() + " files: " + files);
112+
// todo: do we really need mutex here?
112113
MUTEX.lock();
113114
int removeCounter = 0;
114115
for (PsiFile file : files) {
@@ -597,10 +598,8 @@ public static void clearCache(@Nullable final Project project) {
597598
info("Cache clearance requested for project: " + project);
598599
mapPsiFile2Hash.clear();
599600
mapPsiFile2Content.clear();
600-
final Project[] projects =
601-
(project == null)
602-
? ProjectManager.getInstance().getOpenProjects()
603-
: new Project[] {project};
601+
final Set<Project> projects =
602+
(project == null) ? getAllCachedProject() : Collections.singleton(project);
604603
for (Project prj : projects) {
605604
removeProjectFromCache(prj);
606605
ServiceManager.getService(prj, myTodoView.class).refresh();

src/main/java/ai/deepcode/jbplugin/core/MyBulkFileListener.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ public void after(@NotNull List<? extends VFileEvent> events) {
8181
public void before(@NotNull List<? extends VFileEvent> events) {
8282
DCLogger.info("MyBulkFileListener.before begins");
8383
for (Project project : AnalysisData.getAllCachedProject()) {
84+
if (project.isDisposed()) continue;
8485
Set<PsiFile> filesRemoved =
8586
getFilteredFilesByEventTypes(
8687
project, events, DeepCodeUtils::isSupportedFileFormat, VFileDeleteEvent.class);

0 commit comments

Comments
 (0)