1*57b5a4a6SAndroid Build Coastguard Worker // This file was automatically generated from polymorphism.md by Knit tool. Do not edit. 2*57b5a4a6SAndroid Build Coastguard Worker package example.examplePoly14 3*57b5a4a6SAndroid Build Coastguard Worker 4*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.* 5*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.json.* 6*57b5a4a6SAndroid Build Coastguard Worker 7*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.modules.* 8*57b5a4a6SAndroid Build Coastguard Worker <lambda>null9*57b5a4a6SAndroid Build Coastguard Workerval module = SerializersModule { 10*57b5a4a6SAndroid Build Coastguard Worker polymorphic(Any::class) { 11*57b5a4a6SAndroid Build Coastguard Worker subclass(OwnedProject::class) 12*57b5a4a6SAndroid Build Coastguard Worker } 13*57b5a4a6SAndroid Build Coastguard Worker } 14*57b5a4a6SAndroid Build Coastguard Worker <lambda>null15*57b5a4a6SAndroid Build Coastguard Workerval format = Json { serializersModule = module } 16*57b5a4a6SAndroid Build Coastguard Worker 17*57b5a4a6SAndroid Build Coastguard Worker @Serializable 18*57b5a4a6SAndroid Build Coastguard Worker abstract class Project { 19*57b5a4a6SAndroid Build Coastguard Worker abstract val name: String 20*57b5a4a6SAndroid Build Coastguard Worker } 21*57b5a4a6SAndroid Build Coastguard Worker 22*57b5a4a6SAndroid Build Coastguard Worker @Serializable 23*57b5a4a6SAndroid Build Coastguard Worker @SerialName("owned") 24*57b5a4a6SAndroid Build Coastguard Worker class OwnedProject(override val name: String, val owner: String) : Project() 25*57b5a4a6SAndroid Build Coastguard Worker mainnull26*57b5a4a6SAndroid Build Coastguard Workerfun main() { 27*57b5a4a6SAndroid Build Coastguard Worker val data: Any = OwnedProject("kotlinx.coroutines", "kotlin") 28*57b5a4a6SAndroid Build Coastguard Worker println(format.encodeToString(PolymorphicSerializer(Any::class), data)) 29*57b5a4a6SAndroid Build Coastguard Worker } 30