1 // This file was automatically generated from polymorphism.md by Knit tool. Do not edit. 2 package example.examplePoly11 3 4 import kotlinx.serialization.* 5 import kotlinx.serialization.json.* 6 7 import kotlinx.serialization.modules.* 8 <lambda>null9val module = SerializersModule { 10 polymorphic(Project::class) { 11 subclass(OwnedProject::class) 12 } 13 } 14 <lambda>null15val format = Json { serializersModule = module } 16 17 interface Project { 18 val name: String 19 } 20 21 @Serializable 22 @SerialName("owned") 23 class OwnedProject(override val name: String, val owner: String) : Project 24 25 @Serializable 26 class Data(val project: Project) // Project is an interface 27 mainnull28fun main() { 29 val data = Data(OwnedProject("kotlinx.coroutines", "kotlin")) 30 println(format.encodeToString(data)) 31 } 32