diff --git a/platform/core-impl/src/com/intellij/psi/impl/file/impl/FileManagerImpl.java b/platform/core-impl/src/com/intellij/psi/impl/file/impl/FileManagerImpl.java index 9fdeadac793f..4356cfece39e 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/file/impl/FileManagerImpl.java +++ b/platform/core-impl/src/com/intellij/psi/impl/file/impl/FileManagerImpl.java @@ -377,11 +377,16 @@ public class FileManagerImpl implements FileManager { return myVFileToPsiDirMap.get(vFile); } - void cacheViewProvider(VirtualFile vFile, FileViewProvider viewProvider) { - myVFileToViewProviderMap.put(vFile, viewProvider); + void cacheViewProvider(@NotNull VirtualFile vFile, FileViewProvider viewProvider) { + if (viewProvider == null) { + removeCachedViewProvider(vFile); + } + else { + myVFileToViewProviderMap.put(vFile, viewProvider); + } } - void removeCachedViewProvider(VirtualFile vFile) { + void removeCachedViewProvider(@NotNull VirtualFile vFile) { myVFileToViewProviderMap.remove(vFile); }