[Low Level FIR] optimize getting callables in LLFirProviderHelper

This commit is contained in:
Ilya Kirillov
2022-09-16 14:51:41 +02:00
parent 556b7894d5
commit ae76ce666f
6 changed files with 14 additions and 9 deletions
@@ -29,6 +29,8 @@ public abstract class KotlinDeclarationProvider {
public abstract fun getTopLevelProperties(callableId: CallableId): Collection<KtProperty>
public abstract fun getTopLevelFunctions(callableId: CallableId): Collection<KtNamedFunction>
public abstract fun getTopLevelCallableFiles(callableId: CallableId): Collection<KtFile>
public abstract fun getTopLevelCallableNamesInPackage(packageFqName: FqName): Set<Name>
public abstract fun findFilesForFacadeByPackage(packageFqName: FqName): Collection<KtFile>
@@ -97,6 +97,11 @@ public class KotlinStaticDeclarationProvider internal constructor(
}
?: emptyList()
override fun getTopLevelCallableFiles(callableId: CallableId): Collection<KtFile> = buildSet {
getTopLevelProperties(callableId).mapTo(this) { it.containingKtFile }
getTopLevelFunctions(callableId).mapTo(this) { it.containingKtFile }
}
}
public class KotlinStaticDeclarationProviderFactory(