From 4d29ceef695eaab200b5c333871875f1f0cea1e4 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Fri, 10 Oct 2014 16:37:40 +0200 Subject: [PATCH] Cleanup (minor optimization) --- .../openapi/vfs/impl/win32/Win32FsCache.java | 17 ++++++++--------- .../util/text/FilePathHashingStrategy.java | 4 ++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/win32/Win32FsCache.java b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/win32/Win32FsCache.java index aef53edeb096..f2cfe47b4153 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/win32/Win32FsCache.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/win32/Win32FsCache.java @@ -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 names = new ArrayList(fileInfo.length); + if (!StringUtil.endsWithChar(path, '/')) path += "/"; + String[] names = new String[fileInfo.length]; Map 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 diff --git a/platform/util/src/com/intellij/util/text/FilePathHashingStrategy.java b/platform/util/src/com/intellij/util/text/FilePathHashingStrategy.java index bad768477e58..5ba0ddeb10e9 100644 --- a/platform/util/src/com/intellij/util/text/FilePathHashingStrategy.java +++ b/platform/util/src/com/intellij/util/text/FilePathHashingStrategy.java @@ -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 create(boolean caseSensitive) { - return caseSensitive ? ContainerUtil.canonicalStrategy() : new CaseInsensitiveStringHashingStrategy(); + return caseSensitive ? ContainerUtil.canonicalStrategy() : CaseInsensitiveStringHashingStrategy.INSTANCE; } }