Files
kotlin-fork/compiler/testData/codegen/box/callableReference/function/extensionProperty.kt
T
Andrey Zinovyev ddc9c1bd1b [FIR] Fix extension property reference resolution
On type with star projection
#KT-44372 Fixed
2021-06-09 15:15:28 +03:00

23 lines
693 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// WITH_RUNTIME
import kotlin.reflect.KClass
fun box(): String {
val arr: Array<KClass<*>> = arrayOf(String::class, Number::class) as Array<KClass<*>>
val xs = arr.myMap { it.java }.toList()
val ys = arr.myMap(KClass<*>::java).toList()
if (xs != ys) return "fail1"
if (!arr.foo()) return "fail2"
return "OK"
}
public inline fun <A, B> Array<out A>.myMap(transform: (A) -> B): List<B> {
return mapTo(ArrayList<B>(size), transform)
}
fun Any?.foo(): Boolean {
val result = (this as Array<KClass<*>>).map(KClass<*>::java).toList()
val withLambda = (this as Array<KClass<*>>).map { it.java }.toList()
return result == withLambda
}