diff --git a/core/jsMain/src/kotlinx/serialization/internal/Platform.kt b/core/jsMain/src/kotlinx/serialization/internal/Platform.kt index e423afca2a..acc39cdd2f 100644 --- a/core/jsMain/src/kotlinx/serialization/internal/Platform.kt +++ b/core/jsMain/src/kotlinx/serialization/internal/Platform.kt @@ -26,7 +26,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 { @@ -73,8 +73,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