Files
kotlin-fork/compiler/testData/ir/irText/expressions/funInterfaceConstructorReference.kt
T

38 lines
745 B
Kotlin
Vendored

// !LANGUAGE: +KotlinFunInterfaceConstructorReference
// WITH_REFLECT
import kotlin.reflect.*
fun interface KRunnable {
fun run()
}
typealias KR = KRunnable
fun interface KSupplier<T> {
fun get(): T
}
typealias KSS = KSupplier<String>
fun interface KConsumer<T> {
fun accept(x: T)
}
typealias KCS = KConsumer<String>
fun test1() = ::KRunnable
fun test1a() = ::KR
fun test1b(): KFunction<KRunnable> = ::KRunnable
fun test2(): (() -> String) -> KSupplier<String> = ::KSupplier
fun test2a(): (() -> String) -> KSupplier<String> = ::KSS
fun test3(): ((String) -> Unit) -> KConsumer<String> = ::KConsumer
fun test3a(): ((String) -> Unit) -> KConsumer<String> = ::KCS
fun test3b(): KFunction<KConsumer<String>> = ::KConsumer