Support @Serializable(ContextualSerializer) on class

It was fixed some time ago (https://github.com/Kotlin/kotlinx.serialization/issues/957)
but for some reason only for old backend.

Fixes https://github.com/Kotlin/kotlinx.serialization/issues/1776
This commit is contained in:
Leonid Startsev
2022-09-22 18:29:06 +02:00
committed by Space
parent 1967c49914
commit a20ce06102
4 changed files with 29 additions and 0 deletions
@@ -403,6 +403,7 @@ abstract class BaseIrGenerator(private val currentClass: IrClass, final override
// new signature of context serializer
args = args + mutableListOf<IrExpression>().apply {
val fallbackDefaultSerializer = findTypeSerializer(pluginContext, kType)
.takeIf { it?.owner?.classId != contextSerializerId }
add(instantiate(fallbackDefaultSerializer, kType) ?: irNull())
add(
createArrayOfExpression(