For interop libraries provide declarations, bot not function bodies.
This commit is contained in:
committed by
alexander-gorshenev
parent
478d32ef06
commit
5894a37e4a
+2
-2
@@ -117,11 +117,11 @@ fun runTopLevelPhases(konanConfig: KonanConfig, environment: KotlinCoreEnvironme
|
||||
|
||||
phaser.phase(KonanPhase.SERIALIZER) {
|
||||
val declarationTable = DeclarationTable(context.irModule!!.irBuiltins, DescriptorTable())
|
||||
val serializedIr = IrModuleSerializer(context, declarationTable).serializedIrModule(context.irModule!!)
|
||||
val serializedIr = IrModuleSerializer(context, declarationTable, bodiesOnlyForInlines = context.config.isInteropStubs).serializedIrModule(context.irModule!!)
|
||||
|
||||
val serializer = KonanSerializationUtil(context, context.config.configuration.get(CommonConfigurationKeys.METADATA_VERSION)!!, declarationTable)
|
||||
context.serializedLinkData =
|
||||
serializer.serializeModule(context.moduleDescriptor, if (!context.config.isInteropStubs) serializedIr else null)
|
||||
serializer.serializeModule(context.moduleDescriptor, /*if (!context.config.isInteropStubs) serializedIr else null*/ serializedIr)
|
||||
}
|
||||
phaser.phase(KonanPhase.BACKEND) {
|
||||
phaser.phase(KonanPhase.LOWER) {
|
||||
|
||||
+5
-2
@@ -45,7 +45,8 @@ import org.jetbrains.kotlin.types.Variance
|
||||
|
||||
internal class IrModuleSerializer(
|
||||
val logger: LoggingContext,
|
||||
val declarationTable: DeclarationTable
|
||||
val declarationTable: DeclarationTable,
|
||||
val bodiesOnlyForInlines: Boolean = false
|
||||
) {
|
||||
|
||||
private val loopIndex = mutableMapOf<IrLoop, Int>()
|
||||
@@ -805,7 +806,9 @@ internal class IrModuleSerializer(
|
||||
//proto.addValueParameter(serializeIrValueParameter(it))
|
||||
proto.addValueParameter(serializeDeclaration(it))
|
||||
}
|
||||
function.body?.let { proto.body = serializeStatement(it) }
|
||||
if (!bodiesOnlyForInlines || function.isInline) {
|
||||
function.body?.let { proto.body = serializeStatement(it) }
|
||||
}
|
||||
return proto.build()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user