FILE: defaultProperties.kt
    @R|kotlinx/serialization/Serializable|() public final data class SomeClass : R|kotlin/Any| {
        public constructor(ctor: R|kotlin/Int| = Int(42), ctorDependent: R|kotlin/Int| = R|<local>/ctor|.R|kotlin/Int.plus|(Int(1))): R|SomeClass| {
            super<R|kotlin/Any|>()
        }

        public final val ctor: R|kotlin/Int| = R|<local>/ctor|
            public get(): R|kotlin/Int|

        public final val ctorDependent: R|kotlin/Int| = R|<local>/ctorDependent|
            public get(): R|kotlin/Int|

        public final var body: R|kotlin/String| = String()
            public get(): R|kotlin/String|
            public set(value: R|kotlin/String|): R|kotlin/Unit|

        public final var bodyDependent: R|kotlin/Int| = this@R|/SomeClass|.R|/SomeClass.ctor|.R|kotlin/Int.plus|(Int(2))
            public get(): R|kotlin/Int|
            public set(value: R|kotlin/Int|): R|kotlin/Unit|

        public final operator fun component1(): R|kotlin/Int|

        public final operator fun component2(): R|kotlin/Int|

        public final fun copy(ctor: R|kotlin/Int| = this@R|/SomeClass|.R|/SomeClass.ctor|, ctorDependent: R|kotlin/Int| = this@R|/SomeClass|.R|/SomeClass.ctorDependent|): R|SomeClass|

        public final companion object Companion : R|kotlin/Any| {
            public final fun serializer(): R|kotlinx/serialization/KSerializer<SomeClass>|

            private constructor(): R|SomeClass.Companion| {
                super<R|kotlin/Any|>()
            }

        }

        @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<SomeClass>| {
            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<kotlinx/serialization/KSerializer<*>>|

            private constructor(): R|SomeClass.$serializer| {
                super<R|kotlin/Any|>()
            }

        }

    }
    public final fun test(targetString: R|kotlin/String|): R|kotlin/String| {
        lval json: R|kotlinx/serialization/json/Json| = R|kotlinx/serialization/json/Json|(<L> = Json@fun R|kotlinx/serialization/json/JsonBuilder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
            this@R|special/anonymous|.R|kotlinx/serialization/json/JsonBuilder.encodeDefaults| = Boolean(true)
        }
        )
        lval c: R|SomeClass| = R|/SomeClass.SomeClass|(Int(1)).R|kotlin/apply|<R|SomeClass|>(<L> = apply@fun R|SomeClass|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE>  {
            this@R|special/anonymous|.R|/SomeClass.body| = String(x)
        }
        )
        lval s: R|kotlin/String| = R|<local>/json|.R|kotlinx/serialization/json/Json.encodeToString|<R|SomeClass|>(Q|SomeClass|.R|/SomeClass.Companion.serializer|(), R|<local>/c|)
        when () {
            !=(R|<local>/s|, R|<local>/targetString|) ->  {
                ^test R|<local>/s|
            }
        }

        lval i2: R|SomeClass| = R|<local>/json|.R|kotlinx/serialization/json/Json.decodeFromString|<R|SomeClass|>(Q|SomeClass|.R|/SomeClass.Companion.serializer|(), String({}))
        when () {
            !=(R|<local>/i2|.R|/SomeClass.ctor|, Int(42)) ->  {
                ^test String(Incorrect default ctor)
            }
        }

        when () {
            !=(R|<local>/i2|.R|/SomeClass.ctorDependent|, Int(43)) ->  {
                ^test String(Incorrect default ctorDependent)
            }
        }

        when () {
            !=(R|<local>/i2|.R|/SomeClass.body|, String()) ->  {
                ^test String(Incorrect default body)
            }
        }

        when () {
            !=(R|<local>/i2|.R|/SomeClass.bodyDependent|, Int(44)) ->  {
                ^test String(Incorrect default bodyDependent)
            }
        }

        ^test String(OK)
    }
    public final fun box(): R|kotlin/String| {
        ^box R|/test|(String({"ctor":1,"ctorDependent":2,"body":"x","bodyDependent":3}))
    }
