diff --git a/core/runtime.jvm/src/kotlin/jvm/JvmClassMapping.kt b/core/runtime.jvm/src/kotlin/jvm/JvmClassMapping.kt index 4883be911da..bceabadebdd 100644 --- a/core/runtime.jvm/src/kotlin/jvm/JvmClassMapping.kt +++ b/core/runtime.jvm/src/kotlin/jvm/JvmClassMapping.kt @@ -84,16 +84,20 @@ val Class.kotlin: KClass * Returns the runtime Java class of this object. */ val T.javaClass : Class - get() = (this as java.lang.Object).`class` as Class + @Suppress("UsePropertyAccessSyntax") + get() = (this as java.lang.Object).getClass() as Class -@Deprecated("Use 'java' property to get Java class corresponding to this Kotlin class or cast this instance to Any if you really want to get the runtime Java class of this implementation of KClass.", ReplaceWith("(this as Any).javaClass"), level = DeprecationLevel.ERROR) val KClass.javaClass: Class> +@Deprecated("Use 'java' property to get Java class corresponding to this Kotlin class or cast this instance to Any if you really want to get the runtime Java class of this implementation of KClass.", ReplaceWith("(this as Any).javaClass"), level = DeprecationLevel.ERROR) +val KClass.javaClass: Class> @JvmName("getRuntimeClassOfKClassInstance") - get() = (this as java.lang.Object).`class` as Class> + @Suppress("UsePropertyAccessSyntax") + get() = (this as java.lang.Object).getClass() as Class> /** * Checks if array can contain element of type [T]. */ -@Suppress("REIFIED_TYPE_PARAMETER_NO_INLINE") fun Array<*>.isArrayOf(): Boolean = +@Suppress("REIFIED_TYPE_PARAMETER_NO_INLINE") +fun Array<*>.isArrayOf(): Boolean = T::class.java.isAssignableFrom(this.javaClass.componentType) /**