Files
kotlin-fork/plugins/kotlinx-serialization/testData/firMembers/privatePropertiesSerialization.fir.txt
T
Leonid Startsev dbb7ab1760 Add @Deprecated annotation to a synthetic $serializer class
in K2 so it matches K1 behavior.

Deprecation is required, so the declaration will not be visible to user in completion in the IDE.

#KT-65757 Fixed
2024-03-19 10:57:27 +00:00

107 lines
4.8 KiB
Plaintext
Vendored

FILE: privatePropertiesSerialization.kt
@R|kotlinx/serialization/Serializable|() public open class Parent : R|kotlin/Any| {
public constructor(ctor: R|kotlin/Int|): R|Parent| {
super<R|kotlin/Any|>()
}
private final val ctor: R|kotlin/Int| = R|<local>/ctor|
private get(): R|kotlin/Int|
private final var body: R|kotlin/String| = String(42)
private get(): R|kotlin/String|
private set(value: R|kotlin/String|): R|kotlin/Unit|
public final fun checkDeser(c: R|kotlin/Int|, b: R|kotlin/String|): R|kotlin/String| {
when () {
!=(this@R|/Parent|.R|/Parent.ctor|, R|<local>/c|) -> {
^checkDeser <strcat>(String(Ctor : ), this@R|/Parent|.R|/Parent.ctor|)
}
}
when () {
!=(this@R|/Parent|.R|/Parent.body|, R|<local>/b|) -> {
^checkDeser <strcat>(String(Body : ), this@R|/Parent|.R|/Parent.body|)
}
}
^checkDeser String(OK)
}
public final companion object Companion : R|kotlin/Any| {
public final fun serializer(): R|kotlinx/serialization/KSerializer<Parent>|
private constructor(): R|Parent.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<Parent>| {
public final override fun serialize(encoder: R|kotlinx/serialization/encoding/Encoder|, value: R|Parent|): R|kotlin/Unit|
public final override fun deserialize(decoder: R|kotlinx/serialization/encoding/Decoder|): R|Parent|
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|Parent.$serializer| {
super<R|kotlin/Any|>()
}
}
}
@R|kotlinx/serialization/Serializable|() public final class Derived : R|Parent| {
public constructor(): R|Derived| {
super<R|Parent|>(Int(42))
}
public final companion object Companion : R|kotlin/Any| {
public final fun serializer(): R|kotlinx/serialization/KSerializer<Derived>|
private constructor(): R|Derived.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<Derived>| {
public final override fun serialize(encoder: R|kotlinx/serialization/encoding/Encoder|, value: R|Derived|): R|kotlin/Unit|
public final override fun deserialize(decoder: R|kotlinx/serialization/encoding/Decoder|): R|Derived|
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|Derived.$serializer| {
super<R|kotlin/Any|>()
}
}
}
public final fun test(targetString: R|kotlin/String|): R|kotlin/String| {
lval c: R|Derived| = R|/Derived.Derived|()
lval j: 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 s: R|kotlin/String| = R|<local>/j|.R|kotlinx/serialization/json/Json.encodeToString|<R|Derived|>(Q|Derived|.R|/Derived.Companion.serializer|(), R|<local>/c|)
when () {
!=(R|<local>/s|, R|<local>/targetString|) -> {
^test R|<local>/s|
}
}
lval d: R|Derived| = R|<local>/j|.R|kotlinx/serialization/json/Json.decodeFromString|<R|Derived|>(Q|Derived|.R|/Derived.Companion.serializer|(), String({"ctor":43,"body":"43"}))
^test R|<local>/d|.R|/Parent.checkDeser|(Int(43), String(43))
^test String(OK)
}
public final fun box(): R|kotlin/String| {
^box R|/test|(String({"ctor":42,"body":"42"}))
}