diff options
author | Rustam Vishnyakov <rustam.vishnyakov@jetbrains.com> | 2014-02-27 15:49:14 +0400 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-03-10 15:49:25 +0000 |
commit | d153c97a9543353f1a6d76a8810a7519832e9521 (patch) | |
tree | e12dae0992f02d6f12148e1256d4fa83de959a54 /platform | |
parent | 5bea5cf38cc7b45b17811726cf26a1b60a68ebaa (diff) | |
download | idea-d153c97a9543353f1a6d76a8810a7519832e9521.tar.gz |
Fix for IDEA-121307 Cannot create new file (StubVirtualFile throws an exception on isDirectory)
Change-Id: I7557101cf2511762190e5f611715fd76e8a82026
(cherry picked from commit 905c6350e888555b3afde0a84d326e07069a7944)
Diffstat (limited to 'platform')
2 files changed, 5 insertions, 3 deletions
diff --git a/platform/lang-impl/src/com/intellij/openapi/file/exclude/EnforcedPlainTextFileTypeManager.java b/platform/lang-impl/src/com/intellij/openapi/file/exclude/EnforcedPlainTextFileTypeManager.java index 420ed2931d64..830681b9ba5e 100644 --- a/platform/lang-impl/src/com/intellij/openapi/file/exclude/EnforcedPlainTextFileTypeManager.java +++ b/platform/lang-impl/src/com/intellij/openapi/file/exclude/EnforcedPlainTextFileTypeManager.java @@ -28,6 +28,7 @@ import com.intellij.openapi.roots.ex.ProjectRootManagerEx; import com.intellij.openapi.util.EmptyRunnable; import com.intellij.openapi.util.Ref; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.vfs.newvfs.impl.StubVirtualFile; import com.intellij.util.containers.ConcurrentHashMap; import com.intellij.util.indexing.FileBasedIndex; import org.jetbrains.annotations.NotNull; @@ -51,7 +52,7 @@ public class EnforcedPlainTextFileTypeManager implements ProjectManagerListener } public boolean isMarkedAsPlainText(VirtualFile file) { - if (file.isDirectory()) return false; + if (file instanceof StubVirtualFile || file.isDirectory()) return false; synchronized (mySetsInitialized) { if (!mySetsInitialized.get()) { initPlainTextFileSets(); @@ -73,7 +74,7 @@ public class EnforcedPlainTextFileTypeManager implements ProjectManagerListener } public static boolean isApplicableFor(@NotNull VirtualFile file) { - if (file.isDirectory()) return false; + if (file instanceof StubVirtualFile || file.isDirectory()) return false; FileType originalType = FileTypeManager.getInstance().getFileTypeByFileName(file.getName()); return !originalType.isBinary() && originalType != FileTypes.PLAIN_TEXT && originalType != StdFileTypes.JAVA; } diff --git a/platform/lang-impl/src/com/intellij/openapi/file/exclude/PersistentFileSetManager.java b/platform/lang-impl/src/com/intellij/openapi/file/exclude/PersistentFileSetManager.java index aab5c78defb8..6cf91fe5a0c0 100644 --- a/platform/lang-impl/src/com/intellij/openapi/file/exclude/PersistentFileSetManager.java +++ b/platform/lang-impl/src/com/intellij/openapi/file/exclude/PersistentFileSetManager.java @@ -19,6 +19,7 @@ import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; +import com.intellij.openapi.vfs.newvfs.impl.StubVirtualFile; import com.intellij.util.containers.HashSet; import org.jdom.Attribute; import org.jdom.Element; @@ -36,7 +37,7 @@ public class PersistentFileSetManager implements PersistentStateComponent<Elemen private final Set<VirtualFile> myFiles = new HashSet<VirtualFile>(); protected boolean addFile(VirtualFile file) { - if (file.isDirectory()) return false; + if (file instanceof StubVirtualFile || file.isDirectory()) return false; myFiles.add(file); return true; } |