diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/common/SerializerCodegen.kt b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/common/SerializerCodegen.kt index 5754d5d243a..69ed47dd75d 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/common/SerializerCodegen.kt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/common/SerializerCodegen.kt @@ -37,13 +37,14 @@ abstract class SerializerCodegen( fun generate() { check(properties.isExternallySerializable) { "Class ${serializableDescriptor.name} is not externally serializable" } - generateSerialDesc() val prop = generateSerializableClassPropertyIfNeeded() + if (prop) + generateSerialDesc() val save = generateSaveIfNeeded() val load = generateLoadIfNeeded() generateDescriptorGetterIfNeeded() -// if (save || load || prop) -// generateSerialDesc() + if (!prop && (save || load)) + generateSerialDesc() if (serializableDescriptor.declaredTypeParameters.isNotEmpty()) { findSerializerConstructorForTypeArgumentsSerializers(serializerDescriptor, onlyIfSynthetic = true)?.let { generateGenericFieldsAndConstructor(it)