diff --git a/libraries/stdlib/src/kotlin/reflect/KClasses.kt b/libraries/stdlib/src/kotlin/reflect/KClasses.kt index ded665c1411..1265d790d87 100644 --- a/libraries/stdlib/src/kotlin/reflect/KClasses.kt +++ b/libraries/stdlib/src/kotlin/reflect/KClasses.kt @@ -8,6 +8,8 @@ package kotlin.reflect +import kotlin.internal.LowPriorityInOverloadResolution + /** * Casts the given [value] to the class represented by this [KClass] object. * Throws an exception if the value is `null` or if it is not an instance of this class. @@ -19,6 +21,7 @@ package kotlin.reflect */ @SinceKotlin("1.3") @ExperimentalStdlibApi +@LowPriorityInOverloadResolution fun KClass.cast(value: Any?): T { if (!isInstance(value)) throw ClassCastException("Value cannot be cast to $qualifiedName") return value as T @@ -35,6 +38,7 @@ fun KClass.cast(value: Any?): T { */ @SinceKotlin("1.3") @ExperimentalStdlibApi +@LowPriorityInOverloadResolution fun KClass.safeCast(value: Any?): T? { return if (isInstance(value)) value as T else null }