// TARGET_BACKEND: JVM_IR // WITH_STDLIB import kotlinx.serialization.* import kotlinx.serialization.json.* import kotlinx.serialization.descriptors.* interface SomeInterface @Serializable sealed class SealedMultiple @Serializable abstract class AbstractMultiple @Serializable sealed interface SealedInterfaceMultiple interface InterfaceMultiple @Serializable class ToSerialize( val a: SealedMultiple, val b: AbstractMultiple<*, *>, val c: SealedInterfaceMultiple<*, *>, val d: InterfaceMultiple<*, *> ) fun box(): String { val s = ToSerialize.serializer().descriptor.elementDescriptors.joinToString { it.kind.toString() } return if (s == "SEALED, OPEN, SEALED, OPEN") "OK" else s }