Remove dirty file from ChangedFilesCollector only after it was added to FilesToUpdateCollector

GitOrigin-RevId: 55578638a5df0b0b13c72701940fc6abc7e558ba
This commit is contained in:
Liudmila Kornilova
2024-02-07 17:42:34 +01:00
committed by intellij-monorepo-bot
parent 35a8f3caf5
commit 33d338611b

View File

@@ -191,7 +191,6 @@ public final class ChangedFilesCollector extends IndexedFilesListener {
int fileId = info.getFileId();
VirtualFile file = info.getFile();
List<Project> dirtyQueueProjects = myDirtyFiles.getProjects(info.getFileId());
myDirtyFiles.removeFile(info.getFileId());
if (info.isTransientStateChanged()) myFileBasedIndex.doTransientStateChangeForFile(fileId, file, dirtyQueueProjects);
if (info.isContentChanged()) myFileBasedIndex.scheduleFileForIndexing(fileId, file, true, dirtyQueueProjects);
if (info.isFileRemoved()) myFileBasedIndex.doInvalidateIndicesForFile(fileId, file, dirtyQueueProjects);
@@ -205,6 +204,9 @@ public final class ChangedFilesCollector extends IndexedFilesListener {
if (LOG.isDebugEnabled()) LOG.debug("Exception while processing " + info, t);
throw t;
}
finally {
myDirtyFiles.removeFile(info.getFileId());
}
return true;
}