From 9f6dd3ce2e4ccc31339d77ddf94bbeca9d1f84e0 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Fri, 28 Nov 2014 12:58:22 +0300 Subject: [PATCH] Faster completion by not iterating over full class index for each package --- .../resolve/StubBasedPackageMemberDeclarationProvider.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/idea/idea-analysis/src/org/jetbrains/jet/plugin/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt b/idea/idea-analysis/src/org/jetbrains/jet/plugin/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt index 1096bf23ece..68a90d6b607 100644 --- a/idea/idea-analysis/src/org/jetbrains/jet/plugin/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt +++ b/idea/idea-analysis/src/org/jetbrains/jet/plugin/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt @@ -32,6 +32,7 @@ import org.jetbrains.jet.lang.resolve.lazy.data.JetClassInfoUtil import org.jetbrains.jet.lang.resolve.lazy.ResolveSessionUtils import java.util.ArrayList import org.jetbrains.jet.lang.resolve.scopes.DescriptorKindFilter +import org.jetbrains.jet.plugin.stubindex.JetClassByPackageIndex public class StubBasedPackageMemberDeclarationProvider( private val fqName: FqName, @@ -43,9 +44,11 @@ public class StubBasedPackageMemberDeclarationProvider( val result = ArrayList() if (kindFilter.acceptsKinds(DescriptorKindFilter.CLASSIFIERS_MASK)) { - result.addDeclarations(JetFullClassNameIndex.getInstance(), nameFilter) + JetClassByPackageIndex.getInstance().get(fqName.asString(), project, searchScope) + .filterTo(result) { nameFilter(it.getNameAsSafeName()) } } + //TODO: add by package indices for functions and properties too? if (kindFilter.acceptsKinds(DescriptorKindFilter.FUNCTIONS_MASK)) { result.addDeclarations(JetTopLevelFunctionsFqnNameIndex.getInstance(), nameFilter) }