summaryrefslogtreecommitdiff
path: root/platform/testFramework/src/com/intellij/mock/MockVirtualFileSystem.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/testFramework/src/com/intellij/mock/MockVirtualFileSystem.java')
-rw-r--r--platform/testFramework/src/com/intellij/mock/MockVirtualFileSystem.java21
1 files changed, 15 insertions, 6 deletions
diff --git a/platform/testFramework/src/com/intellij/mock/MockVirtualFileSystem.java b/platform/testFramework/src/com/intellij/mock/MockVirtualFileSystem.java
index 8550f973a8ea..9854cea82835 100644
--- a/platform/testFramework/src/com/intellij/mock/MockVirtualFileSystem.java
+++ b/platform/testFramework/src/com/intellij/mock/MockVirtualFileSystem.java
@@ -20,30 +20,37 @@ import com.intellij.openapi.vfs.DeprecatedVirtualFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileSystem;
import com.intellij.testFramework.LightVirtualFile;
+import gnu.trove.THashMap;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
-import java.util.HashMap;
+import java.util.Map;
public class MockVirtualFileSystem extends DeprecatedVirtualFileSystem {
private final MyVirtualFile myRoot = new MyVirtualFile("", null);
public static final String PROTOCOL = "mock";
@Override
+ @NotNull
public VirtualFile findFileByPath(@NotNull String path) {
path = path.replace(File.separatorChar, '/');
path = path.replace('/', ':');
if (StringUtil.startsWithChar(path, ':')) path = path.substring(1);
- String[] components = path.split(":");
MyVirtualFile file = myRoot;
- for (String component : components) {
+ for (String component : StringUtil.split(path, ":")) {
file = file.getOrCreate(component);
}
return file;
}
+ @NotNull
+ public VirtualFile getRoot() {
+ return myRoot;
+ }
+
@Override
@NotNull
public String getProtocol() {
@@ -93,11 +100,12 @@ public class MockVirtualFileSystem extends DeprecatedVirtualFileSystem {
}
public class MyVirtualFile extends LightVirtualFile {
- private final HashMap<String, MyVirtualFile> myChildren = new HashMap<String, MyVirtualFile>();
+ private final Map<String, MyVirtualFile> myChildren = new THashMap<String, MyVirtualFile>();
private final MyVirtualFile myParent;
- public MyVirtualFile(String name, MyVirtualFile parent) {
+ public MyVirtualFile(@NotNull String name, @Nullable MyVirtualFile parent) {
super(name);
+
myParent = parent;
}
@@ -107,7 +115,8 @@ public class MockVirtualFileSystem extends DeprecatedVirtualFileSystem {
return MockVirtualFileSystem.this;
}
- public MyVirtualFile getOrCreate(String name) {
+ @NotNull
+ public MyVirtualFile getOrCreate(@NotNull String name) {
MyVirtualFile file = myChildren.get(name);
if (file == null) {
file = new MyVirtualFile(name, this);