dbb7ab1760
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
66 lines
4.0 KiB
Plaintext
Vendored
66 lines
4.0 KiB
Plaintext
Vendored
FILE: classWithGenericParameters.kt
|
|
@R|kotlinx/serialization/Serializable|() public final class GenericBox<T, V> : R|kotlin/Any| {
|
|
public constructor<T, V>(i: R|kotlin/Int|, t: R|T|, vs: R|kotlin/collections/List<V>|): R|GenericBox<T, V>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val i: R|kotlin/Int| = R|<local>/i|
|
|
public get(): R|kotlin/Int|
|
|
|
|
public final val t: R|T| = R|<local>/t|
|
|
public get(): R|T|
|
|
|
|
public final val vs: R|kotlin/collections/List<V>| = R|<local>/vs|
|
|
public get(): R|kotlin/collections/List<V>|
|
|
|
|
public final companion object Companion : R|kotlin/Any| {
|
|
public final fun <T, V> serializer(typeSerial0: R|kotlinx/serialization/KSerializer<T>|, typeSerial1: R|kotlinx/serialization/KSerializer<V>|): R|kotlinx/serialization/KSerializer<GenericBox<T, V>>|
|
|
|
|
private constructor(): R|GenericBox.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 class $serializer<T, V> : R|kotlinx/serialization/internal/GeneratedSerializer<GenericBox<T, V>>| {
|
|
public final override fun serialize(encoder: R|kotlinx/serialization/encoding/Encoder|, value: R|GenericBox<T, V>|): R|kotlin/Unit|
|
|
|
|
public final override fun deserialize(decoder: R|kotlinx/serialization/encoding/Decoder|): R|GenericBox<T, V>|
|
|
|
|
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<*>>|
|
|
|
|
public final override fun typeParametersSerializers(): R|kotlin/Array<kotlinx/serialization/KSerializer<*>>|
|
|
|
|
private constructor<T, V>(): R|GenericBox.$serializer<T, V>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public constructor<T, V>(typeSerial0: R|kotlinx/serialization/KSerializer<T>|, typeSerial1: R|kotlinx/serialization/KSerializer<V>|): R|GenericBox.$serializer<T, V>|
|
|
|
|
}
|
|
|
|
}
|
|
public final fun box(): R|kotlin/String| {
|
|
lval box: R|GenericBox<kotlin/String, kotlin/Boolean>| = R|/GenericBox.GenericBox|<R|kotlin/String|, R|kotlin/Boolean|>(Int(42), String(foo), R|kotlin/collections/listOf|<R|kotlin/Boolean|>(vararg(Boolean(true), Boolean(false))))
|
|
lval serial: R|kotlinx/serialization/KSerializer<GenericBox<kotlin/String, kotlin/Boolean>>| = Q|GenericBox|.R|/GenericBox.Companion.serializer|<R|kotlin/String|, R|kotlin/Boolean|>(Q|kotlin/String|.R|kotlinx/serialization/builtins/serializer|(), Q|kotlin/Boolean|.R|kotlinx/serialization/builtins/serializer|())
|
|
lval target: R|kotlin/String| = String({"i":42,"t":"foo","vs":[true,false]})
|
|
lval s: R|kotlin/String| = Q|kotlinx/serialization/json/Json|.R|kotlinx/serialization/json/Json.encodeToString|<R|GenericBox<kotlin/String, kotlin/Boolean>|>(R|<local>/serial|, R|<local>/box|)
|
|
when () {
|
|
!=(R|<local>/target|, R|<local>/s|) -> {
|
|
^box <strcat>(String(Incorrect serialization: ), R|<local>/s|)
|
|
}
|
|
}
|
|
|
|
lval decoded: R|GenericBox<kotlin/String, kotlin/Boolean>| = Q|kotlinx/serialization/json/Json|.R|kotlinx/serialization/json/Json.decodeFromString|<R|GenericBox<kotlin/String, kotlin/Boolean>|>(R|<local>/serial|, R|<local>/s|)
|
|
when () {
|
|
!=(R|<local>/box|.R|SubstitutionOverride</GenericBox.t: R|kotlin/String|>|, R|<local>/decoded|.R|SubstitutionOverride</GenericBox.t: R|kotlin/String|>|) || !=(R|<local>/box|.R|SubstitutionOverride</GenericBox.vs: R|kotlin/collections/List<kotlin/Boolean>|>|, R|<local>/decoded|.R|SubstitutionOverride</GenericBox.vs: R|kotlin/collections/List<kotlin/Boolean>|>|) -> {
|
|
^box String(Incorrect deserialization)
|
|
}
|
|
}
|
|
|
|
^box String(OK)
|
|
}
|