diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt index e4eef941c4d..dbc79cb212f 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt @@ -61,9 +61,12 @@ class StubBasedPackageMemberDeclarationProvider( return result } - override fun getDeclarationNames() = - getDeclarations(DescriptorKindFilter.ALL, { true }) - .mapTo(mutableSetOf()) { ResolveSessionUtils.safeNameForLazyResolve(it as KtNamedDeclaration) } + private val declarationNames_ by lazy(LazyThreadSafetyMode.PUBLICATION) { + getDeclarations(DescriptorKindFilter.ALL, { true }) + .mapTo(mutableSetOf()) { ResolveSessionUtils.safeNameForLazyResolve(it as KtNamedDeclaration) } + } + + override fun getDeclarationNames() = declarationNames_ override fun getClassOrObjectDeclarations(name: Name): Collection { val result = ArrayList()