Returned support for nullable types by not null serializers

Fixes Kotlin/kotlinx.serialization#1265
This commit is contained in:
Sergey Shanshin
2021-01-19 20:44:47 +03:00
committed by GitHub
parent b476f1cc3e
commit 10d9259df5

View File

@@ -125,7 +125,7 @@ fun AbstractSerialGenerator.findTypeSerializerOrContextUnchecked(
if (kType.isTypeParameter()) return null
annotations.serializableWith(module)?.let { return it.toClassDescriptor }
additionalSerializersInScopeOfCurrentFile[kType]?.let { return it }
if (kType.isMarkedNullable) return findTypeSerializerOrContextUnchecked(module, kType.makeNotNullable())
if (kType in contextualKClassListInCurrentFile) return module.getClassFromSerializationPackage(SpecialBuiltins.contextSerializer)
return analyzeSpecialSerializers(module, annotations) ?: findTypeSerializer(module, kType)
}