diff options
author | Tor Norbye <tnorbye@google.com> | 2014-09-04 13:24:04 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-09-04 13:24:04 -0700 |
commit | c3d3a90f6b4ead083d63e28e6b9fcea93d675678 (patch) | |
tree | fc0dcd722b6d445468dbe7dad13b4c11781b1cbe /platform/core-impl/src/com/intellij/psi/impl/file/impl/FileManagerImpl.java | |
parent | 1aa2e09bdbd413eacb677e9fa4b50630530d0656 (diff) | |
download | idea-c3d3a90f6b4ead083d63e28e6b9fcea93d675678.tar.gz |
Snapshot idea/138.1980 from git://git.jetbrains.org/idea/community.git
Change-Id: Ib567c9c152d770212a7a3db20fbf591c210920bd
Diffstat (limited to 'platform/core-impl/src/com/intellij/psi/impl/file/impl/FileManagerImpl.java')
-rw-r--r-- | platform/core-impl/src/com/intellij/psi/impl/file/impl/FileManagerImpl.java | 24 |
1 files changed, 14 insertions, 10 deletions
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 7b4e9ec210ac..6b2877d83351 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 @@ -26,7 +26,6 @@ import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.fileTypes.ContentBasedFileSubstitutor; import com.intellij.openapi.fileTypes.FileType; -import com.intellij.openapi.fileTypes.FileTypeRegistry; import com.intellij.openapi.fileTypes.LanguageFileType; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; @@ -71,13 +70,6 @@ public class FileManagerImpl implements FileManager { private final FileDocumentManager myFileDocumentManager; private final MessageBusConnection myConnection; - @SuppressWarnings("UnusedDeclaration") - private final LowMemoryWatcher myLowMemoryWatcher = LowMemoryWatcher.register(new Runnable() { - @Override - public void run() { - processQueue(); - } - }); public FileManagerImpl(PsiManagerImpl manager, FileDocumentManager fileDocumentManager, FileIndexFacade fileIndex) { myManager = manager; @@ -98,6 +90,12 @@ public class FileManagerImpl implements FileManager { } }); Disposer.register(manager.getProject(), this); + LowMemoryWatcher.register(new Runnable() { + @Override + public void run() { + processQueue(); + } + }, this); } private static final VirtualFile NULL = new LightVirtualFile(); @@ -412,7 +410,7 @@ public class FileManagerImpl implements FileManager { if (myFileIndex.isExcludedFile(vFile)) return null; } else { - if (FileTypeRegistry.getInstance().isFileIgnored(vFile)) return null; + if (myFileIndex.isUnderIgnored(vFile)) return null; } VirtualFile parent = vFile.getParent(); @@ -538,7 +536,13 @@ public class FileManagerImpl implements FileManager { if (document != null && !ignoreDocument){ fileDocumentManager.reloadFromDisk(document); } - else{ + else { + FileViewProvider latestProvider = createFileViewProvider(vFile, false); + if (latestProvider.getPsi(latestProvider.getBaseLanguage()) instanceof PsiBinaryFile) { + forceReload(vFile); + return; + } + PsiTreeChangeEventImpl event = new PsiTreeChangeEventImpl(myManager); event.setParent(file); event.setFile(file); |