From 52933e161e413cd2379542bb0143088b60a5ea40 Mon Sep 17 00:00:00 2001 From: Leonid Startsev Date: Tue, 28 Apr 2020 20:50:25 +0300 Subject: [PATCH] Use AssociatedObjects on JS too because JS IR now supports them --- .../serialization/compiler/resolve/KSerializationUtil.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/resolve/KSerializationUtil.kt b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/resolve/KSerializationUtil.kt index 3af82af9455..6422842b287 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/resolve/KSerializationUtil.kt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/resolve/KSerializationUtil.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotated import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.platform.js.isJs import org.jetbrains.kotlin.platform.konan.isNative import org.jetbrains.kotlin.psi.KtAnnotationEntry import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass @@ -213,7 +214,7 @@ internal fun getSerializableClassDescriptorByCompanion(thisDescriptor: ClassDesc } internal fun ClassDescriptor.needSerializerFactory(): Boolean { - if (this.platform?.isNative() != true) return false + if (!(this.platform?.isNative() == true || this.platform.isJs())) return false val serializableClass = getSerializableClassDescriptorByCompanion(this) ?: return false if (serializableClass.isSerializableObject) return true if (serializableClass.declaredTypeParameters.isEmpty()) return false