From bf3538c0ef4454f1fe8b284b4949b33217b676e6 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 27 Nov 2015 14:55:48 +0300 Subject: [PATCH] avoid one case of accidentally retaining RangeHighlighters via FDM->FDM.DocumentCacheStrategy anonymous->myDocuments->Document->RHighlighter --- .../openapi/fileEditor/impl/FileDocumentManagerImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java index c996d543b2f7..f3cacbc3935d 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java @@ -101,7 +101,7 @@ public class FileDocumentManagerImpl extends FileDocumentManager implements Virt private final FileDocumentManagerListener myMultiCaster; private final TrailingSpacesStripper myTrailingSpacesStripper = new TrailingSpacesStripper(); - private boolean myOnClose = false; + private boolean myOnClose; public FileDocumentManagerImpl(@NotNull VirtualFileManager virtualFileManager, @NotNull ProjectManager projectManager) { myDocumentCacheStrategy = createDocumentCacheStrategy(); @@ -236,14 +236,14 @@ public class FileDocumentManagerImpl extends FileDocumentManager implements Virt } - protected interface DocumentCacheStrategy { + private interface DocumentCacheStrategy { @Nullable Document getDocument (@NotNull VirtualFile file); void putDocument (@NotNull VirtualFile file, @NotNull Document document); void invalidateDocument (@NotNull VirtualFile file); } @NotNull - protected DocumentCacheStrategy createDocumentCacheStrategy() { + private static DocumentCacheStrategy createDocumentCacheStrategy() { return new DocumentCacheStrategy() { private final Map myDocuments = ContainerUtil.createConcurrentWeakValueMap(); @@ -690,7 +690,7 @@ public class FileDocumentManagerImpl extends FileDocumentManager implements Virt myMultiCaster.fileContentReloaded(file, document); } - private PairProcessor askReloadFromDisk = new PairProcessor() { + private volatile PairProcessor askReloadFromDisk = new PairProcessor() { @Override public boolean process(final VirtualFile file, final Document document) { String message = UIBundle.message("file.cache.conflict.message.text", file.getPresentableUrl());