Add cache for declaration names in StubBasedPackageMemberDeclarationProvider

#KT-20683 Fixed
This commit is contained in:
Denis Zharkov
2017-10-10 11:24:05 +03:00
parent 082ed62cd5
commit cb7d561c6c
@@ -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<KtClassLikeInfo> {
val result = ArrayList<KtClassLikeInfo>()