From 536a46956d6fd92dee7aa43770c6cb6365c0ee2f Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 Dec 2012 12:16:24 +0100 Subject: [PATCH] optimize getInstance() for big collections --- .../src/com/intellij/usages/UsageInfoToUsageConverter.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/usageView/src/com/intellij/usages/UsageInfoToUsageConverter.java b/platform/usageView/src/com/intellij/usages/UsageInfoToUsageConverter.java index 69cc7af5e4bd..b55b4413275a 100644 --- a/platform/usageView/src/com/intellij/usages/UsageInfoToUsageConverter.java +++ b/platform/usageView/src/com/intellij/usages/UsageInfoToUsageConverter.java @@ -26,6 +26,7 @@ import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -67,10 +68,13 @@ public class UsageInfoToUsageConverter { @NotNull private static List> convertToSmartPointers(@NotNull PsiElement[] primaryElements) { + if (primaryElements.length == 0) return Collections.emptyList(); + + final SmartPointerManager smartPointerManager = SmartPointerManager.getInstance(primaryElements[0].getProject()); return ContainerUtil.mapNotNull(primaryElements, new Function>() { @Override public SmartPsiElementPointer fun(final PsiElement s) { - return SmartPointerManager.getInstance(s.getProject()).createSmartPsiElementPointer(s); + return smartPointerManager.createSmartPsiElementPointer(s); } }); }