[analysis api] optimize search for declarations in IDE

This commit is contained in:
Ilya Kirillov
2022-04-17 19:00:43 +02:00
parent 9088da7b33
commit 9a562a0293
6 changed files with 19 additions and 13 deletions
@@ -34,7 +34,7 @@ class KotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupport
searchScope: GlobalSearchScope
): Collection<KtClassOrObject> = project.createDeclarationProvider(searchScope).run {
getClassNamesInPackage(packageFqName).flatMap {
getClassesByClassId(ClassId.topLevel(packageFqName.child(it)))
getAllClassesByClassId(ClassId.topLevel(packageFqName.child(it)))
}
}
@@ -66,7 +66,7 @@ class KotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupport
override fun findClassOrObjectDeclarations(fqName: FqName, searchScope: GlobalSearchScope): Collection<KtClassOrObject> =
fqName.toClassIdSequence().flatMap {
project.createDeclarationProvider(searchScope).getClassesByClassId(it)
project.createDeclarationProvider(searchScope).getAllClassesByClassId(it)
}
.filter { it.isFromSourceOrLibraryBinary(project) }
.toSet()