Files
kotlin-fork/plugins/kotlinx-serialization/testData/firMembers/inlineClasses.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

86 lines
3.7 KiB
Plaintext
Vendored

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<R|kotlin/Any|>()
}
public final val i: R|kotlin/Int| = R|<local>/i|
public get(): R|kotlin/Int|
public final companion object Companion : R|kotlin/Any| {
public final fun serializer(): R|kotlinx/serialization/KSerializer<Foo>|
private constructor(): R|Foo.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<Foo>| {
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<kotlinx/serialization/KSerializer<*>>|
private constructor(): R|Foo.$serializer| {
super<R|kotlin/Any|>()
}
}
}
@R|kotlinx/serialization/Serializable|() public final class Holder : R|kotlin/Any| {
public constructor(f: R|Foo|): R|Holder| {
super<R|kotlin/Any|>()
}
public final val f: R|Foo| = R|<local>/f|
public get(): R|Foo|
public final companion object Companion : R|kotlin/Any| {
public final fun serializer(): R|kotlinx/serialization/KSerializer<Holder>|
private constructor(): R|Holder.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<Holder>| {
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<kotlinx/serialization/KSerializer<*>>|
private constructor(): R|Holder.$serializer| {
super<R|kotlin/Any|>()
}
}
}
public final fun box(): R|kotlin/String| {
when () {
Q|Foo|.R|/Foo.Companion.serializer|().R|SubstitutionOverride<kotlinx/serialization/KSerializer.descriptor: R|kotlinx/serialization/descriptors/SerialDescriptor|>|.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|<R|Holder|>(Q|Holder|.R|/Holder.Companion.serializer|(), R|/Holder.Holder|(R|/Foo.Foo|(Int(42))))
when () {
!=(R|<local>/s|, String({"f":42})) -> {
^box R|<local>/s|
}
}
^box String(OK)
}