Files
kotlin-fork/compiler/testData/codegen/boxInline/reified/kt6988.kt
T
Ilya Matveev a5e4e0284e Mute some box tests for native backend
This patch mutes the following test categories:
   * Tests with java dependencies (System class,
     java stdlib, jvm-oriented annotations etc).
   * Coroutines tests.
   * Reflection tests.
   * Tests with an inheritance from the standard
     collections.
2017-03-10 19:59:37 +03:00

28 lines
445 B
Kotlin
Vendored

// IGNORE_BACKEND: NATIVE
// FILE: 1.kt
// WITH_REFLECT
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"
}