[Analysis API Standalone] add missing KLibSymbol provider for common libraries
diff --git a/analysis/analysis-api-standalone/analysis-api-fir-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/LLFirStandaloneLibrarySymbolProviderFactory.kt b/analysis/analysis-api-standalone/analysis-api-fir-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/LLFirStandaloneLibrarySymbolProviderFactory.kt
index b19740d0..7401c7c 100644
--- a/analysis/analysis-api-standalone/analysis-api-fir-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/LLFirStandaloneLibrarySymbolProviderFactory.kt
+++ b/analysis/analysis-api-standalone/analysis-api-fir-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/LLFirStandaloneLibrarySymbolProviderFactory.kt
@@ -60,15 +60,21 @@
packagePartProvider: PackagePartProvider,
scope: GlobalSearchScope,
): List<FirSymbolProvider> {
- return listOf(
- MetadataSymbolProvider(
- session,
- moduleDataProvider,
- kotlinScopeProvider,
- packagePartProvider as PackageAndMetadataPartProvider,
- VirtualFileFinderFactory.getInstance(project).create(scope),
+ return buildList {
+ add(
+ MetadataSymbolProvider(
+ session,
+ moduleDataProvider,
+ kotlinScopeProvider,
+ packagePartProvider as PackageAndMetadataPartProvider,
+ VirtualFileFinderFactory.getInstance(project).create(scope),
+ )
)
- )
+ val kLibs = moduleData.getLibraryKLibs()
+ if (kLibs.isNotEmpty()) {
+ add(KlibBasedSymbolProvider(session, moduleDataProvider, kotlinScopeProvider, kLibs))
+ }
+ }
}
override fun createNativeLibrarySymbolProvider(
@@ -109,7 +115,7 @@
override fun createBuiltinsSymbolProvider(
session: FirSession,
moduleData: LLFirModuleData,
- kotlinScopeProvider: FirKotlinScopeProvider
+ kotlinScopeProvider: FirKotlinScopeProvider,
): List<FirSymbolProvider> {
return listOf(
FirBuiltinSymbolProvider(session, moduleData, kotlinScopeProvider)