FILE: serializableWith.kt public final object IntHolderAsStringSerializer : R|kotlinx/serialization/KSerializer| { private constructor(): R|IntHolderAsStringSerializer| { super() } public open override val descriptor: R|kotlinx/serialization/descriptors/SerialDescriptor| = R|kotlinx/serialization/descriptors/PrimitiveSerialDescriptor|(String(IntHolder), Q|kotlinx/serialization/descriptors/PrimitiveKind.STRING|) public get(): R|kotlinx/serialization/descriptors/SerialDescriptor| public open override fun serialize(encoder: R|kotlinx/serialization/encoding/Encoder|, value: R|IntHolder|): R|kotlin/Unit| { R|/encoder|.R|kotlinx/serialization/encoding/Encoder.encodeString|(R|/value|.R|/IntHolder.value|.R|kotlin/Int.toString|()) } public open override fun deserialize(decoder: R|kotlinx/serialization/encoding/Decoder|): R|IntHolder| { lval string: R|kotlin/String| = R|/decoder|.R|kotlinx/serialization/encoding/Decoder.decodeString|() ^deserialize R|/IntHolder.IntHolder|(R|/string|.R|kotlin/text/toInt|()) } } public final object ObjectSerializer : R|kotlinx/serialization/KSerializer| { private constructor(): R|ObjectSerializer| { super() } public open override val descriptor: R|kotlinx/serialization/descriptors/SerialDescriptor| = R|kotlinx/serialization/descriptors/PrimitiveSerialDescriptor|(String(SerializableObject), Q|kotlinx/serialization/descriptors/PrimitiveKind.STRING|) public get(): R|kotlinx/serialization/descriptors/SerialDescriptor| public open override fun serialize(encoder: R|kotlinx/serialization/encoding/Encoder|, value: R|SerializableObject|): R|kotlin/Unit| { R|/encoder|.R|kotlinx/serialization/encoding/Encoder.encodeString|(String(obj)) } public open override fun deserialize(decoder: R|kotlinx/serialization/encoding/Decoder|): R|SerializableObject| { R|/decoder|.R|kotlinx/serialization/encoding/Decoder.decodeString|() ^deserialize Q|SerializableObject| } } @R|kotlinx/serialization/Serializable|(with = (Q|IntHolderAsStringSerializer|)) public final class IntHolder : R|kotlin/Any| { public constructor(value: R|kotlin/Int|): R|IntHolder| { super() } public final val value: R|kotlin/Int| = R|/value| public get(): R|kotlin/Int| public final companion object Companion : R|kotlin/Any| { public final fun serializer(): R|kotlinx/serialization/KSerializer| private constructor(): R|IntHolder.Companion| { super() } } } @R|kotlinx/serialization/Serializable|(with = (Q|ObjectSerializer|)) public final object SerializableObject : R|kotlin/Any| { private constructor(): R|SerializableObject| { super() } public final fun serializer(): R|kotlinx/serialization/KSerializer| } public final fun box(): R|kotlin/String| { lval holder: R|IntHolder| = R|/IntHolder.IntHolder|(Int(42)) lval encoded: R|kotlin/String| = Q|kotlinx/serialization/json/Json|.R|kotlinx/serialization/json/Json.encodeToString|(Q|IntHolder|.R|/IntHolder.Companion.serializer|(), R|/holder|) when () { !=(R|/encoded|, String("42")) -> { ^box R|/encoded| } } lval decoded: R|IntHolder| = Q|kotlinx/serialization/json/Json|.R|kotlinx/serialization/json/Json.decodeFromString|(Q|IntHolder|.R|/IntHolder.Companion.serializer|(), R|/encoded|) when () { !=(R|/decoded|.R|/IntHolder.value|, R|/holder|.R|/IntHolder.value|) -> { ^box String(Incorrect value) } } lval encodedObject: R|kotlin/String| = Q|kotlinx/serialization/json/Json|.R|kotlinx/serialization/json/Json.encodeToString|(Q|SerializableObject|.R|/SerializableObject.serializer|(), Q|SerializableObject|) when () { !=(R|/encodedObject|, String("obj")) -> { ^box R|/encodedObject| } } lval decodedObject: R|SerializableObject| = Q|kotlinx/serialization/json/Json|.R|kotlinx/serialization/json/Json.decodeFromString|(Q|SerializableObject|.R|/SerializableObject.serializer|(), R|/encodedObject|) when () { !=(R|/decodedObject|, Q|SerializableObject|) -> { ^box String(Incorrect object instance) } } ^box String(OK) }