RE
Size: a a a
RE
AN
VP
VP
VP
AO
AW
interface Interface {
}
@kotlinx.serialization.Serializable
sealed class SimpleSealed: Interface {
    @kotlinx.serialization.Serializable
    public data class SubSealedA(val s: String) : SimpleSealed()
    @kotlinx.serialization.Serializable
    public data class SubSealedB(val i: Int) : SimpleSealed()
}
val messageModule = SerializersModule {
            polymorphic(Interface::class) {
                SimpleSealed::class with SimpleSealed.serializer()
                SimpleSealed.SubSealedA::class with SimpleSealed.SubSealedA.serializer()
                SimpleSealed.SubSealedB::class with SimpleSealed.SubSealedB.serializer()
            }
        }
        val json = Json(JsonConfiguration.Stable.copy(classDiscriminator = "nodeType"), context = messageModule)
        val j = json.stringify(PolymorphicSerializer(Interface::class), SimpleSealed.SubSealedA("foo"))
        println(j)
        println(json.parse(PolymorphicSerializer(Interface::class), j))
Почему оно не стягивает sealed и не работает без указания вручную всех реализаций силда? И.е. это - не нужно, если я сериализую SimpleSealed``SimpleSealed.serializer()'ом, но почему-то вдруг нужно когда сериализую полиморфный интерфейс? SimpleSealed.SubSealedA::class with SimpleSealed.SubSealedA.serializer()Или я опять чего-то не понимаю?)
SimpleSealed.SubSealedB::class with SimpleSealed.SubSealedB.serializer()
A
QH
A
QH
A
H
PS
H
A
A
A
QH