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.examplePoly18 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 9*57b5a4a6SAndroid Build Coastguard Worker @Serializable 10*57b5a4a6SAndroid Build Coastguard Worker abstract class Project { 11*57b5a4a6SAndroid Build Coastguard Worker abstract val name: String 12*57b5a4a6SAndroid Build Coastguard Worker } 13*57b5a4a6SAndroid Build Coastguard Worker 14*57b5a4a6SAndroid Build Coastguard Worker @Serializable 15*57b5a4a6SAndroid Build Coastguard Worker @SerialName("OwnedProject") 16*57b5a4a6SAndroid Build Coastguard Worker data class OwnedProject(override val name: String, val owner: String) : Project() 17*57b5a4a6SAndroid Build Coastguard Worker <lambda>null18*57b5a4a6SAndroid Build Coastguard Workerval module = SerializersModule { 19*57b5a4a6SAndroid Build Coastguard Worker polymorphic(Project::class) { 20*57b5a4a6SAndroid Build Coastguard Worker subclass(OwnedProject::class) 21*57b5a4a6SAndroid Build Coastguard Worker } 22*57b5a4a6SAndroid Build Coastguard Worker } 23*57b5a4a6SAndroid Build Coastguard Worker <lambda>null24*57b5a4a6SAndroid Build Coastguard Workerval format = Json { serializersModule = module } 25*57b5a4a6SAndroid Build Coastguard Worker mainnull26*57b5a4a6SAndroid Build Coastguard Workerfun main() { 27*57b5a4a6SAndroid Build Coastguard Worker println(format.decodeFromString<Project>(""" 28*57b5a4a6SAndroid Build Coastguard Worker {"type":"unknown","name":"example"} 29*57b5a4a6SAndroid Build Coastguard Worker """)) 30*57b5a4a6SAndroid Build Coastguard Worker } 31