[Native] Drop KonanFileMetadataSource class

Replaced it with more common `DescriptorMetadataSource.File`
This commit is contained in:
Ivan Kylchik
2023-08-14 12:46:22 +02:00
committed by Space Team
parent 36373ddfa7
commit 852d829d83
3 changed files with 7 additions and 11 deletions
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.IrBuiltIns
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.builders.TranslationPluginContext import org.jetbrains.kotlin.ir.builders.TranslationPluginContext
import org.jetbrains.kotlin.ir.declarations.DescriptorMetadataSource
import org.jetbrains.kotlin.ir.linkage.IrDeserializer import org.jetbrains.kotlin.ir.linkage.IrDeserializer
import org.jetbrains.kotlin.ir.linkage.partial.partialLinkageConfig import org.jetbrains.kotlin.ir.linkage.partial.partialLinkageConfig
import org.jetbrains.kotlin.ir.symbols.IrSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol
@@ -248,9 +249,9 @@ internal fun PsiToIrContext.psiToIr(
(modules.values + mainModule).single { it.descriptor == this.stdlibModule } (modules.values + mainModule).single { it.descriptor == this.stdlibModule }
} }
mainModule.files.forEach { it.metadata = KonanFileMetadataSource(mainModule) } mainModule.files.forEach { it.metadata = DescriptorMetadataSource.File(listOf(mainModule.descriptor)) }
modules.values.forEach { module -> modules.values.forEach { module ->
module.files.forEach { it.metadata = KonanFileMetadataSource(module) } module.files.forEach { it.metadata = DescriptorMetadataSource.File(listOf(module.descriptor)) }
} }
return if (isProducingLibrary) { return if (isProducingLibrary) {
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.backend.konan.descriptors.allOverriddenFunctions
import org.jetbrains.kotlin.backend.konan.descriptors.isFromInteropLibrary import org.jetbrains.kotlin.backend.konan.descriptors.isFromInteropLibrary
import org.jetbrains.kotlin.backend.konan.descriptors.isInteropLibrary import org.jetbrains.kotlin.backend.konan.descriptors.isInteropLibrary
import org.jetbrains.kotlin.backend.konan.llvm.KonanMetadata import org.jetbrains.kotlin.backend.konan.llvm.KonanMetadata
import org.jetbrains.kotlin.backend.konan.serialization.KonanFileMetadataSource
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.IrBuiltIns
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
@@ -99,13 +98,14 @@ private fun IrClass.getOverridingOf(function: IrFunction) = (function as? IrSimp
} }
val ModuleDescriptor.konanLibrary get() = (this.klibModuleOrigin as? DeserializedKlibModuleOrigin)?.library val ModuleDescriptor.konanLibrary get() = (this.klibModuleOrigin as? DeserializedKlibModuleOrigin)?.library
val IrModuleFragment.konanLibrary get() = descriptor.konanLibrary
@OptIn(ObsoleteDescriptorBasedAPI::class) @OptIn(ObsoleteDescriptorBasedAPI::class)
val IrPackageFragment.konanLibrary : KotlinLibrary? val IrPackageFragment.konanLibrary: KotlinLibrary?
get() { get() {
if (this is IrFile) { if (this is IrFile) {
(metadata as? KonanFileMetadataSource)?.module?.konanLibrary?.let { return it } val fileMetadata = metadata as? DescriptorMetadataSource.File
val moduleDescriptor = fileMetadata?.descriptors?.singleOrNull() as? ModuleDescriptor
moduleDescriptor?.konanLibrary?.let { return it }
} }
return this.packageFragmentDescriptor.containingDeclaration.konanLibrary return this.packageFragmentDescriptor.containingDeclaration.konanLibrary
} }
@@ -1162,8 +1162,3 @@ internal class KonanIrLinker(
} }
} }
} }
class KonanFileMetadataSource(val module: IrModuleFragment) : MetadataSource.File {
override val name: Name? = null
override var serializedIr: ByteArray? = null
}