From c23a11a6fce388b4e27d56db934d7c6c1abada6a Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Thu, 26 Mar 2020 21:52:50 +0700 Subject: [PATCH] Refactoring: Clean-up usage of KlibMetadataFactories --- .../library/metadata/KlibMetadataFactories.kt | 4 ++-- .../ide/konan/NativePlatformKindResolution.kt | 8 ++++---- .../konan/NativeDistributionModulesProvider.kt | 6 +++--- .../descriptors/commonizer/utils/NativeFactories.kt | 13 ------------- .../commonizer/utils/moduleDescriptor.kt | 10 +++++++--- 5 files changed, 16 insertions(+), 25 deletions(-) delete mode 100644 native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/NativeFactories.kt diff --git a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataFactories.kt b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataFactories.kt index 8267dafe719..23985a70407 100644 --- a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataFactories.kt +++ b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataFactories.kt @@ -21,8 +21,8 @@ import org.jetbrains.kotlin.storage.StorageManager /** * The default Kotlin/Native factories. */ -open class KlibMetadataFactories( - createBuiltIns:(StorageManager) -> KotlinBuiltIns, +class KlibMetadataFactories( + createBuiltIns: (StorageManager) -> KotlinBuiltIns, val flexibleTypeDeserializer: FlexibleTypeDeserializer, val platformDependentTypeTransformer: PlatformDependentTypeTransformer ) { diff --git a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/NativePlatformKindResolution.kt b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/NativePlatformKindResolution.kt index d7b0a78d29a..58a6f7324b0 100644 --- a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/NativePlatformKindResolution.kt +++ b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/NativePlatformKindResolution.kt @@ -87,7 +87,7 @@ class NativePlatformKindResolution : IdePlatformKindResolution { object NativeBuiltInsCacheKey : BuiltInsCacheKey companion object { - private val NativeFactories = KlibMetadataFactories(::KonanBuiltIns, NullFlexibleTypeDeserializer) + private val metadataFactories = KlibMetadataFactories(::KonanBuiltIns, NullFlexibleTypeDeserializer) fun createNativeKlibPackageFragmentProvider( moduleInfo: ModuleInfo, @@ -99,7 +99,7 @@ class NativePlatformKindResolution : IdePlatformKindResolution { ?.resolvedKotlinLibrary ?.createKlibPackageFragmentProvider( storageManager = storageManager, - metadataModuleDescriptorFactory = NativeFactories.DefaultDeserializedDescriptorFactory, + metadataModuleDescriptorFactory = metadataFactories.DefaultDeserializedDescriptorFactory, languageVersionSettings = languageVersionSettings, moduleDescriptor = moduleDescriptor ) @@ -111,7 +111,7 @@ class NativePlatformKindResolution : IdePlatformKindResolution { val project = projectContext.project val storageManager = projectContext.storageManager - val builtInsModule = NativeFactories.DefaultDescriptorFactory.createDescriptorAndNewBuiltIns( + val builtInsModule = metadataFactories.DefaultDescriptorFactory.createDescriptorAndNewBuiltIns( KotlinBuiltIns.BUILTINS_MODULE_NAME, storageManager, DeserializedKlibModuleOrigin(stdlibInfo.resolvedKotlinLibrary), @@ -136,7 +136,7 @@ class NativePlatformKindResolution : IdePlatformKindResolution { listOf( stdlibPackageFragmentProvider, functionInterfacePackageFragmentProvider(storageManager, builtInsModule), - (NativeFactories.DefaultDeserializedDescriptorFactory as KlibMetadataModuleDescriptorFactoryImpl) + (metadataFactories.DefaultDeserializedDescriptorFactory as KlibMetadataModuleDescriptorFactoryImpl) .createForwardDeclarationHackPackagePartProvider(storageManager, builtInsModule) ) ) diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionModulesProvider.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionModulesProvider.kt index 7aacb7defaa..e67f73e1ed9 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionModulesProvider.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionModulesProvider.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.commonizer.BuiltInsProvider import org.jetbrains.kotlin.descriptors.commonizer.ModulesProvider -import org.jetbrains.kotlin.descriptors.commonizer.utils.NativeFactories.DefaultDeserializedDescriptorFactory +import org.jetbrains.kotlin.descriptors.commonizer.utils.NativeFactories import org.jetbrains.kotlin.descriptors.commonizer.utils.createKotlinNativeForwardDeclarationsModule import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME import org.jetbrains.kotlin.storage.StorageManager @@ -20,7 +20,7 @@ internal class NativeDistributionModulesProvider( private val libraries: NativeDistributionLibraries ) : BuiltInsProvider, ModulesProvider { override fun loadBuiltIns(): KotlinBuiltIns { - val stdlib = DefaultDeserializedDescriptorFactory.createDescriptorAndNewBuiltIns( + val stdlib = NativeFactories.DefaultDeserializedDescriptorFactory.createDescriptorAndNewBuiltIns( library = libraries.stdlib.library, languageVersionSettings = LanguageVersionSettingsImpl.DEFAULT, storageManager = storageManager, @@ -37,7 +37,7 @@ internal class NativeDistributionModulesProvider( val platformModulesMap = libraries.platformLibs.associate { library -> val name = library.manifestData.uniqueName - val module = DefaultDeserializedDescriptorFactory.createDescriptorOptionalBuiltIns( + val module = NativeFactories.DefaultDeserializedDescriptorFactory.createDescriptorOptionalBuiltIns( library = library.library, languageVersionSettings = LanguageVersionSettingsImpl.DEFAULT, storageManager = storageManager, diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/NativeFactories.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/NativeFactories.kt deleted file mode 100644 index 3c6eafdda67..00000000000 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/NativeFactories.kt +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.descriptors.commonizer.utils - -import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns -import org.jetbrains.kotlin.konan.util.KlibMetadataFactories -import org.jetbrains.kotlin.library.metadata.NativeTypeTransformer -import org.jetbrains.kotlin.library.metadata.NullFlexibleTypeDeserializer - -object NativeFactories : KlibMetadataFactories(::KonanBuiltIns, NullFlexibleTypeDeserializer, NativeTypeTransformer()) diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/moduleDescriptor.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/moduleDescriptor.kt index 5a7135a6f78..068cd5722ed 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/moduleDescriptor.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/moduleDescriptor.kt @@ -6,13 +6,15 @@ package org.jetbrains.kotlin.descriptors.commonizer.utils import org.jetbrains.kotlin.builtins.KotlinBuiltIns +import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ClassifierDescriptorWithTypeParameters import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.descriptors.commonizer.utils.NativeFactories.DefaultDeserializedDescriptorFactory -import org.jetbrains.kotlin.descriptors.commonizer.utils.NativeFactories.createDefaultKonanResolvedModuleDescriptorsFactory import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.incremental.components.LookupLocation +import org.jetbrains.kotlin.konan.util.KlibMetadataFactories +import org.jetbrains.kotlin.library.metadata.NativeTypeTransformer +import org.jetbrains.kotlin.library.metadata.NullFlexibleTypeDeserializer import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.serialization.konan.impl.KlibResolvedModuleDescriptorsFactoryImpl import org.jetbrains.kotlin.storage.StorageManager @@ -24,7 +26,7 @@ internal fun createKotlinNativeForwardDeclarationsModule( storageManager: StorageManager, builtIns: KotlinBuiltIns ): ModuleDescriptorImpl = - (createDefaultKonanResolvedModuleDescriptorsFactory(DefaultDeserializedDescriptorFactory) as KlibResolvedModuleDescriptorsFactoryImpl) + (NativeFactories.createDefaultKonanResolvedModuleDescriptorsFactory(NativeFactories.DefaultDeserializedDescriptorFactory) as KlibResolvedModuleDescriptorsFactoryImpl) .createForwardDeclarationsModule( builtIns = builtIns, storageManager = storageManager @@ -46,3 +48,5 @@ internal fun ModuleDescriptor.resolveClassOrTypeAliasByFqName( ?.unsubstitutedInnerClassesScope ?.getContributedClassifier(fqName.shortName(), lookupLocation) as? ClassifierDescriptorWithTypeParameters } + +internal val NativeFactories = KlibMetadataFactories(::KonanBuiltIns, NullFlexibleTypeDeserializer, NativeTypeTransformer())