inspection view: collect unpresent files in listener after processor execution

This commit is contained in:
Dmitry Batkovich
2017-12-13 17:11:11 +03:00
parent 7f26258408
commit c3ee276222
@@ -139,8 +139,8 @@ class InspectionViewChangeAdapter extends PsiTreeChangeAdapter {
filesToCheck = new THashSet<>(myFilesToProcess);
myFilesToProcess.clear();
}
Set<VirtualFile> unPresentFiles = new THashSet<>(filesToCheck);
if (!filesToCheck.isEmpty()) {
Set<VirtualFile> unPresentFiles = new THashSet<>(filesToCheck);
Processor<InspectionTreeNode> fileCheckProcessor = (node) -> {
if (myView.isDisposed()) {
return false;
@@ -166,13 +166,16 @@ class InspectionViewChangeAdapter extends PsiTreeChangeAdapter {
return true;
};
nodeProcessor = CompositeProcessor.combine(fileCheckProcessor, nodeProcessor);
myUnPresentEditedFiles.addAll(unPresentFiles);
}
synchronized (myView.getTreeStructureUpdateLock()) {
processNodesIfNeed(myView.getTree().getRoot(), Objects.requireNonNull(nodeProcessor));
}
if (!unPresentFiles.isEmpty()) {
myUnPresentEditedFiles.addAll(unPresentFiles);
}
if (needUpdateUI[0] && !myAlarm.isDisposed()) {
myAlarm.cancelAllRequests();
myAlarm.addRequest(() -> myView.resetTree(), 100, ModalityState.NON_MODAL);