3b789448a3
to properly serialize class hierarchies with/or private fields. JVM only for now, because Native/JS do not have private fields. Update tests and test data and rebase fix. Unify formEncodeDecodePropertyCall functions. Fix incorrect reference to object in writeSelf, so properties dependent on other properties would be correctly compared with defaults.
24 lines
837 B
Kotlin
Vendored
24 lines
837 B
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
// WITH_RUNTIME
|
|
// FILE: test.kt
|
|
import kotlinx.serialization.*
|
|
import kotlinx.serialization.encoding.*
|
|
|
|
enum class SimpleEnum { A, B }
|
|
|
|
<!EXPLICIT_SERIALIZABLE_IS_REQUIRED!>enum<!> class MarkedNameEnum { @SerialName("a") A, B}
|
|
|
|
@Serializable
|
|
enum class ExplicitlyMarkedEnum { @SerialName("a") A, B}
|
|
|
|
@Serializable(EnumSerializer::class)
|
|
enum class ExplicitlyMarkedEnumCustom { @SerialName("a") A, B}
|
|
|
|
object EnumSerializer: KSerializer<ExplicitlyMarkedEnumCustom> {
|
|
override val descriptor = TODO()
|
|
override fun serialize(encoder: Encoder, value: ExplicitlyMarkedEnumCustom) = TODO()
|
|
override fun deserialize(decoder: Decoder): ExplicitlyMarkedEnumCustom = TODO()
|
|
}
|
|
|
|
@Serializable
|
|
data class EnumUsage(val s: SimpleEnum, val m: MarkedNameEnum, val e: ExplicitlyMarkedEnum) |