Add PackageAndMetadataPartProvider interface

Use it for parameter in MetadataSymbolProvider
This commit is contained in:
Ivan Kochurkin
2023-01-24 20:07:07 +01:00
committed by Space Team
parent f3e3cc0037
commit a9bac2f18b
5 changed files with 22 additions and 15 deletions
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
import org.jetbrains.kotlin.incremental.components.EnumWhenTracker
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
import org.jetbrains.kotlin.load.kotlin.PackageAndMetadataPartProvider
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.serialization.deserialization.KotlinMetadataFinder
@@ -39,7 +39,7 @@ object FirCommonSessionFactory : FirAbstractSessionFactory() {
moduleDataProvider: ModuleDataProvider,
projectEnvironment: AbstractProjectEnvironment,
scope: AbstractProjectFileSearchScope,
packagePartProvider: PackagePartProvider,
packageAndMetadataPartProvider: PackageAndMetadataPartProvider,
languageVersionSettings: LanguageVersionSettings,
registerExtraComponents: ((FirSession) -> Unit),
): FirSession {
@@ -59,12 +59,12 @@ object FirCommonSessionFactory : FirAbstractSessionFactory() {
session,
moduleDataProvider,
kotlinScopeProvider,
packagePartProvider,
packageAndMetadataPartProvider,
projectEnvironment.getKotlinClassFinder(scope)
),
FirBuiltinSymbolProvider(session, builtinsModuleData, kotlinScopeProvider),
FirCloneableSymbolProvider(session, builtinsModuleData, kotlinScopeProvider),
OptionalAnnotationClassesProvider(session, moduleDataProvider, kotlinScopeProvider, packagePartProvider)
OptionalAnnotationClassesProvider(session, moduleDataProvider, kotlinScopeProvider, packageAndMetadataPartProvider)
)
}
)
@@ -116,7 +116,7 @@ object FirCommonSessionFactory : FirAbstractSessionFactory() {
session,
moduleDataProvider,
kotlinScopeProvider,
precompiledBinariesPackagePartProvider,
precompiledBinariesPackagePartProvider as PackageAndMetadataPartProvider,
projectEnvironment.getKotlinClassFinder(it.precompiledBinariesFileScope) as KotlinMetadataFinder,
defaultDeserializationOrigin = FirDeclarationOrigin.Precompiled
)