From 359a37c9c3027e441899f46e97b23d24d4d3bed3 Mon Sep 17 00:00:00 2001 From: Leonid Startsev Date: Thu, 16 Aug 2018 13:19:47 +0300 Subject: [PATCH] Fix after rebase --- .../serialization/gradle/SerializationSubplugin.kt | 3 ++- .../serialization/compiler/backend/jvm/JVMCodegenUtil.kt | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-serialization/src/main/kotlin/org/jetbrains/kotlinx/serialization/gradle/SerializationSubplugin.kt b/libraries/tools/kotlin-serialization/src/main/kotlin/org/jetbrains/kotlinx/serialization/gradle/SerializationSubplugin.kt index c28f2e358bf..2d72a6d08f0 100644 --- a/libraries/tools/kotlin-serialization/src/main/kotlin/org/jetbrains/kotlinx/serialization/gradle/SerializationSubplugin.kt +++ b/libraries/tools/kotlin-serialization/src/main/kotlin/org/jetbrains/kotlinx/serialization/gradle/SerializationSubplugin.kt @@ -22,6 +22,7 @@ import org.gradle.api.logging.Logger import org.gradle.api.logging.Logging import org.gradle.api.tasks.SourceSet import org.gradle.api.tasks.compile.AbstractCompile +import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin import org.jetbrains.kotlin.gradle.plugin.SubpluginArtifact import org.jetbrains.kotlin.gradle.plugin.SubpluginOption @@ -63,7 +64,7 @@ class SerializationKotlinGradleSubplugin : KotlinGradleSubplugin { return emptyList() diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/jvm/JVMCodegenUtil.kt b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/jvm/JVMCodegenUtil.kt index 8c1df316702..866d5fb936c 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/jvm/JVMCodegenUtil.kt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/jvm/JVMCodegenUtil.kt @@ -94,7 +94,14 @@ fun InstructionAdapter.genKOutputMethodCall(property: SerializableProperty, clas val sti = getSerialTypeInfo(property, propertyType) val useSerializer = if (fromClassStartVar == null) stackValueSerializerInstanceFromSerializer(classCodegen, sti) else stackValueSerializerInstanceFromClass(classCodegen, sti, fromClassStartVar) - if (!sti.unit) classCodegen.genPropertyOnStack(this, expressionCodegen.context, property.descriptor, propertyOwnerType, ownerVar) + if (!sti.unit) ImplementationBodyCodegen.genPropertyOnStack( + this, + expressionCodegen.context, + property.descriptor, + propertyOwnerType, + ownerVar, + classCodegen.state + ) invokeinterface(kOutputType.internalName, CallingConventions.encode + sti.elementMethodPrefix + (if (useSerializer) "Serializable" else "") + CallingConventions.elementPostfix, "(" + descType.descriptor + "I" +