FILE: classWithCompanionObject.kt @R|kotlinx/serialization/Serializable|() public final class SomeClass : R|kotlin/Any| { public constructor(i: R|kotlin/Int|): R|SomeClass| { super() } public final val i: R|kotlin/Int| = R|/i| public get(): R|kotlin/Int| public final companion object Companion : R|kotlin/Any| { public final fun serializer(): R|kotlinx/serialization/KSerializer| private constructor(): R|SomeClass.Companion| { super() } } @R|kotlin/Deprecated|(message = String(This synthesized declaration should not be used directly), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.HIDDEN|) public final object $serializer : R|kotlinx/serialization/internal/GeneratedSerializer| { public final override fun serialize(encoder: R|kotlinx/serialization/encoding/Encoder|, value: R|SomeClass|): R|kotlin/Unit| public final override fun deserialize(decoder: R|kotlinx/serialization/encoding/Decoder|): R|SomeClass| public final val descriptor: R|kotlinx/serialization/descriptors/SerialDescriptor| public get(): R|kotlinx/serialization/descriptors/SerialDescriptor| public final override fun childSerializers(): R|kotlin/Array>| private constructor(): R|SomeClass.$serializer| { super() } } } public final fun box(): R|kotlin/String| { lval targetString: R|kotlin/String| = String({"i":42}) lval serializer: R|kotlinx/serialization/KSerializer| = Q|SomeClass.Companion|.R|/SomeClass.Companion.serializer|() lval descriptor: R|kotlinx/serialization/descriptors/SerialDescriptor| = R|/serializer|.R|SubstitutionOverride| when () { !=(R|/descriptor|.R|kotlin/Any.toString|(), String(SomeClass(i: kotlin.Int))) -> { ^box (String(Incorrect SerialDescriptor.toString(): ), R|/descriptor|) } } lval instance: R|SomeClass| = R|/SomeClass.SomeClass|(Int(42)) lval string: R|kotlin/String| = Q|kotlinx/serialization/json/Json|.R|kotlinx/serialization/json/Json.encodeToString|(R|/serializer|, R|/instance|) when () { !=(R|/string|, R|/targetString|) -> { ^box (String(Incorrect serialization result: expected ), R|/targetString|, String(, got ), R|/string|) } } lval instance2: R|SomeClass| = Q|kotlinx/serialization/json/Json|.R|kotlinx/serialization/json/Json.decodeFromString|(R|/serializer|, R|/string|) when () { !=(R|/instance2|.R|/SomeClass.i|, R|/instance|.R|/SomeClass.i|) -> { ^box (String(Incorrect deserialization result: expected ), R|/instance|.R|/SomeClass.i|, String(, got ), R|/instance2|.R|/SomeClass.i|) } } ^box String(OK) }