notnull, use thashmap, simlpify — add getRoot
authorVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Wed, 10 Sep 2014 16:15:16 +0000 (18:15 +0200)
committerVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Wed, 10 Sep 2014 16:19:39 +0000 (18:19 +0200)
platform/testFramework/src/com/intellij/mock/MockVirtualFileSystem.java

index c5a806a1125ce6eaae56a920f6e72da450ca2dd0..9854cea82835b4701ebc1d297da2d0f1d088e522 100644 (file)
@@ -20,12 +20,14 @@ 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);
@@ -44,6 +46,11 @@ public class MockVirtualFileSystem extends DeprecatedVirtualFileSystem {
     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;
     }
 
@@ -108,7 +116,7 @@ public class MockVirtualFileSystem extends DeprecatedVirtualFileSystem {
     }
 
     @NotNull
-    public MyVirtualFile getOrCreate(String name) {
+    public MyVirtualFile getOrCreate(@NotNull String name) {
       MyVirtualFile file = myChildren.get(name);
       if (file == null) {
         file = new MyVirtualFile(name, this);