Files
kotlin-fork/compiler/testData/codegen/boxInline/reified/kt6988.kt
T
2021-02-02 17:53:52 +03:00

28 lines
442 B
Kotlin
Vendored

// WITH_REFLECT
// TARGET_BACKEND: JVM
// FILE: 1.kt
package test
interface Call<T> {
fun call(): T
}
public inline fun <reified T: Any> Any.inlineMeIfYouCan() : () -> Call<T> = {
object : Call<T> {
override fun call() = T::class.java.newInstance()
}
}
// FILE: 2.kt
import test.*
public class A()
fun box(): String {
val s = "yo".inlineMeIfYouCan<A>()().call()
if (s !is A) return "fail"
return "OK"
}