diff --git a/core/jsMain/src/kotlinx/serialization/internal/Platform.kt b/core/jsMain/src/kotlinx/serialization/internal/Platform.kt index 571c3f7979..27a6c9946e 100644 --- a/core/jsMain/src/kotlinx/serialization/internal/Platform.kt +++ b/core/jsMain/src/kotlinx/serialization/internal/Platform.kt @@ -23,7 +23,7 @@ internal actual fun KClass.compiledSerializerImpl(): KSerializer else this.js.asDynamic().Companion?.serializer() ) as? KSerializer -internal actual fun KClass.isInterface(): Boolean = isInterface +internal actual fun KClass.isInterface(): Boolean = isInterfaceHack internal actual fun createCache(factory: (KClass<*>) -> KSerializer?): SerializerCache { return object: SerializerCache { @@ -70,8 +70,10 @@ internal actual fun isReferenceArray(rootClass: KClass): Boolean = rootClas * WARNING: may be broken in arbitrary time in the future without notice * * Should be eventually replaced with compiler intrinsics + * + * TODO: Remove this when KT-78581 lands into a 2.2.20 release */ -private val KClass<*>.isInterface: Boolean +private val KClass<*>.isInterfaceHack: Boolean get(): Boolean { // .js throws an exception for Nothing if (this === Nothing::class) return false