Support plugin intrinsics for serializer() function in K2.

- Add IrPluginContext to JvmBackendContext, so plugin intrinsics can
reference external functions properly.

- Do not use module.findClassAcrossModuleDependencies as Descriptor API does not work for FIR.

- Add asm listing tests in serialization plugin for K2

- Remove Delegated.kt asm listing test as we have similar test in boxIr group.

#KT-56553 Fixed
This commit is contained in:
Leonid Startsev
2023-02-09 15:43:48 +01:00
committed by Space Team
parent 121c920099
commit 80ad6a4cd7
20 changed files with 2416 additions and 359 deletions
@@ -5,6 +5,7 @@
import kotlinx.serialization.*
import kotlinx.serialization.json.*
import kotlinx.serialization.encoding.*
import kotlin.reflect.typeOf
@Serializable
data class Holder<T>(
@@ -14,7 +15,7 @@ data class Holder<T>(
)
fun box(): String {
val serializer = serializer<Holder<List<String>>>()
val serializer = serializer(typeOf<Holder<List<String>>>())
val instance = Holder(true, listOf("a", "b"))
val encoded = Json.encodeToString(serializer, instance)
if (encoded != """{"ok":true,"result":["a","b"]}""") return encoded