[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.ObsoleteDescriptorBasedAPI
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.partial.partialLinkageConfig
import org.jetbrains.kotlin.ir.symbols.IrSymbol
@@ -248,9 +249,9 @@ internal fun PsiToIrContext.psiToIr(
(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 ->
module.files.forEach { it.metadata = KonanFileMetadataSource(module) }
module.files.forEach { it.metadata = DescriptorMetadataSource.File(listOf(module.descriptor)) }
}
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.isInteropLibrary
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.ir.IrBuiltIns
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 IrModuleFragment.konanLibrary get() = descriptor.konanLibrary
@OptIn(ObsoleteDescriptorBasedAPI::class)
val IrPackageFragment.konanLibrary : KotlinLibrary?
val IrPackageFragment.konanLibrary: KotlinLibrary?
get() {
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
}
@@ -1162,8 +1162,3 @@ internal class KonanIrLinker(
}
}
}
class KonanFileMetadataSource(val module: IrModuleFragment) : MetadataSource.File {
override val name: Name? = null
override var serializedIr: ByteArray? = null
}