Added support of external serializers to the FIR

Co-authored-by: Leonid Startsev <leonid.startsev@jetbrains.com>
Merge-request: KT-MR-7334
Merged-by: Sergey Shanshin <Sergey.Shanshin@jetbrains.com>
This commit is contained in:
Sergey.Shanshin
2022-10-13 15:25:39 +00:00
committed by Space Team
parent 817afcd4af
commit 5a1c2c56bd
28 changed files with 629 additions and 101 deletions
@@ -0,0 +1,27 @@
// WITH_STDLIB
package com.example
import kotlinx.serialization.*
import kotlinx.serialization.json.*
import kotlinx.serialization.encoding.*
import kotlinx.serialization.descriptors.*
class Data(val j: Int)
@Serializer(forClass = Data::class)
object ObjectSerializer
@Serializer(forClass = Data::class)
class ClassSerializer
fun box(): String {
val encodedForClass = Json.encodeToString(ClassSerializer(), Data(1))
if (encodedForClass != """{"j":1}""") return encodedForClass
val encodedForObject = Json.encodeToString(ObjectSerializer, Data(2))
if (encodedForObject != """{"j":2}""") return encodedForObject
return "OK"
}