FILE: inlineClasses.kt @R|kotlinx/serialization/Serializable|() @R|kotlin/jvm/JvmInline|() public final inline class Foo : R|kotlin/Any| { public constructor(i: R|kotlin/Int|): R|Foo| { 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|Foo.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|Foo|): R|kotlin/Unit| public final override fun deserialize(decoder: R|kotlinx/serialization/encoding/Decoder|): R|Foo| 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|Foo.$serializer| { super() } } } @R|kotlinx/serialization/Serializable|() public final class Holder : R|kotlin/Any| { public constructor(f: R|Foo|): R|Holder| { super() } public final val f: R|Foo| = R|/f| public get(): R|Foo| public final companion object Companion : R|kotlin/Any| { public final fun serializer(): R|kotlinx/serialization/KSerializer| private constructor(): R|Holder.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|Holder|): R|kotlin/Unit| public final override fun deserialize(decoder: R|kotlinx/serialization/encoding/Decoder|): R|Holder| 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|Holder.$serializer| { super() } } } public final fun box(): R|kotlin/String| { when () { Q|Foo|.R|/Foo.Companion.serializer|().R|SubstitutionOverride|.R|kotlinx/serialization/descriptors/SerialDescriptor.isInline|.R|kotlin/Boolean.not|() -> { ^box String(Incorrect descriptor) } } lval s: R|kotlin/String| = Q|kotlinx/serialization/json/Json|.R|kotlinx/serialization/json/Json.encodeToString|(Q|Holder|.R|/Holder.Companion.serializer|(), R|/Holder.Holder|(R|/Foo.Foo|(Int(42)))) when () { !=(R|/s|, String({"f":42})) -> { ^box R|/s| } } ^box String(OK) }