Cleanup (minor optimization)
authorRoman Shevchenko <roman.shevchenko@jetbrains.com>
Fri, 10 Oct 2014 14:37:40 +0000 (16:37 +0200)
committerRoman Shevchenko <roman.shevchenko@jetbrains.com>
Fri, 10 Oct 2014 14:39:01 +0000 (16:39 +0200)
platform/platform-impl/src/com/intellij/openapi/vfs/impl/win32/Win32FsCache.java
platform/util/src/com/intellij/util/text/FilePathHashingStrategy.java

index aef53edeb096c7bd0557756b1fb36a8addb9aac4..f2cfe47b4153ea32a21ed58999573097bebdb081 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@ import com.intellij.openapi.util.io.FileAttributes;
 import com.intellij.openapi.util.io.FileUtil;
 import com.intellij.openapi.util.io.win32.FileInfo;
 import com.intellij.openapi.util.io.win32.IdeaWin32;
+import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.ArrayUtil;
 import gnu.trove.THashMap;
@@ -27,8 +28,6 @@ import org.jetbrains.annotations.Nullable;
 
 import java.lang.ref.Reference;
 import java.lang.ref.SoftReference;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -59,16 +58,16 @@ class Win32FsCache {
       return ArrayUtil.EMPTY_STRING_ARRAY;
     }
 
-    if (!path.endsWith("/")) path += "/";
-    List<String> names = new ArrayList<String>(fileInfo.length);
+    if (!StringUtil.endsWithChar(path, '/')) path += "/";
+    String[] names = new String[fileInfo.length];
     Map<String, FileAttributes> map = getMap();
-    for (FileInfo info : fileInfo) {
+    for (int i = 0, length = fileInfo.length; i < length; i++) {
+      FileInfo info = fileInfo[i];
       String name = info.getName();
       map.put(path + name, info.toFileAttributes());
-      names.add(name);
+      names[i] = name;
     }
-
-    return ArrayUtil.toStringArray(names);
+    return names;
   }
 
   @Nullable
index bad768477e58ae7fe7209abb0d42b32778aa2032..5ba0ddeb10e952d1f2e23dbff1c4896c04dcb228 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,6 +33,6 @@ public class FilePathHashingStrategy {
 
   @NotNull
   public static TObjectHashingStrategy<String> create(boolean caseSensitive) {
-    return caseSensitive ? ContainerUtil.<String>canonicalStrategy() : new CaseInsensitiveStringHashingStrategy();
+    return caseSensitive ? ContainerUtil.<String>canonicalStrategy() : CaseInsensitiveStringHashingStrategy.INSTANCE;
   }
 }