Fix commented check when generating descriptor initializer:

It was needed before `save` because save references symbol of initializer,
yet we don't need to generate it if user provided its own getter
This commit is contained in:
Leonid Startsev
2018-10-30 17:26:52 +03:00
parent b76116a077
commit 127ceaca34
@@ -37,13 +37,14 @@ abstract class SerializerCodegen(
fun generate() { fun generate() {
check(properties.isExternallySerializable) { "Class ${serializableDescriptor.name} is not externally serializable" } check(properties.isExternallySerializable) { "Class ${serializableDescriptor.name} is not externally serializable" }
generateSerialDesc()
val prop = generateSerializableClassPropertyIfNeeded() val prop = generateSerializableClassPropertyIfNeeded()
if (prop)
generateSerialDesc()
val save = generateSaveIfNeeded() val save = generateSaveIfNeeded()
val load = generateLoadIfNeeded() val load = generateLoadIfNeeded()
generateDescriptorGetterIfNeeded() generateDescriptorGetterIfNeeded()
// if (save || load || prop) if (!prop && (save || load))
// generateSerialDesc() generateSerialDesc()
if (serializableDescriptor.declaredTypeParameters.isNotEmpty()) { if (serializableDescriptor.declaredTypeParameters.isNotEmpty()) {
findSerializerConstructorForTypeArgumentsSerializers(serializerDescriptor, onlyIfSynthetic = true)?.let { findSerializerConstructorForTypeArgumentsSerializers(serializerDescriptor, onlyIfSynthetic = true)?.let {
generateGenericFieldsAndConstructor(it) generateGenericFieldsAndConstructor(it)