Loney Chou
@Serializable(ASerializer::class) sealed class A @Serializable class B<T : A> : A() object ASerializer : KSerializer<A> { @OptIn(ExperimentalSerializationApi::class, InternalSerializationApi::class) override val descriptor: SerialDescriptor = buildSerialDescriptor( serialName = "A", kind = PolymorphicKind.SEALED ) { element( elementName = "B", descriptor = /* ... */ // What should I pass in here? ) } override fun serialize(encoder: Encoder, value: A) { TODO("Not yet implemented") } override fun deserialize(decoder: Decoder): A { TODO("Not yet implemented") } }
ephemient
T
descriptor = B.serializer(NothingSerializer()).descriptor
B.serializer(KSerializer<T>)
A modern programming language that makes developers happier.