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.
18 lines
620 B
Kotlin
Vendored
18 lines
620 B
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
// WITH_RUNTIME
|
|
// FILE: test.kt
|
|
import kotlinx.serialization.*
|
|
import kotlinx.serialization.descriptors.*
|
|
import kotlinx.serialization.encoding.*
|
|
|
|
@Serializable(NopeNullableSerializer::class)
|
|
class Nope {}
|
|
|
|
class NopeNullableSerializer: KSerializer<Nope?> {
|
|
override val descriptor: SerialDescriptor get() = TODO()
|
|
override fun deserialize(decoder: Decoder): Nope? = TODO()
|
|
override fun serialize(encoder: Encoder, value: Nope?) = TODO()
|
|
}
|
|
|
|
@Serializable
|
|
class Foo(val foo: <!SERIALIZER_NULLABILITY_INCOMPATIBLE("NopeNullableSerializer", "Nope")!>Nope<!>) |