xref: /aosp_15_r20/external/kotlinx.serialization/guide/example/example-classes-01.kt (revision 57b5a4a64c534cf7f27ac9427ceab07f3d8ed3d8)
1 // This file was automatically generated from basic-serialization.md by Knit tool. Do not edit.
2 package example.exampleClasses01
3 
4 import kotlinx.serialization.*
5 import kotlinx.serialization.json.*
6 
7 @Serializable
8 class Project(
9     // name is a property with backing field -- serialized
10     var name: String
11 ) {
12     var stars: Int = 0 // property with a backing field -- serialized
13 
14     val path: String // getter only, no backing field -- not serialized
15         get() = "kotlin/$name"
16 
17     var id by ::name // delegated property -- not serialized
18 }
19 
mainnull20 fun main() {
21     val data = Project("kotlinx.serialization").apply { stars = 9000 }
22     println(Json.encodeToString(data))
23 }
24