Files
kotlin-fork/compiler/testData/ir/irText/expressions/variableAsFunctionCall.kt.txt
T
2020-11-26 00:14:11 +03:00

36 lines
746 B
Plaintext
Vendored

fun String.k(): Function0<String> {
return local fun <anonymous>(): String {
return <this>
}
}
fun test1(f: Function0<Unit>) {
return f.invoke()
}
fun test2(f: @ExtensionFunctionType Function1<String, Unit>) {
return f.invoke(p1 = "hello")
}
fun test3(): String {
return k($receiver = "hello").invoke()
}
fun test4(ns: String?): String? {
return { // BLOCK
val tmp1_safe_receiver: Function0<String>? = { // BLOCK
val tmp0_safe_receiver: String? = ns
when {
EQEQ(arg0 = tmp0_safe_receiver, arg1 = null) -> null
true -> k($receiver = tmp0_safe_receiver)
}
}
when {
EQEQ(arg0 = tmp1_safe_receiver, arg1 = null) -> null
true -> tmp1_safe_receiver.invoke()
}
}
}