Files
kotlin-fork/js/js.translator/testData/box/callableReference/function/functionReferenceName.kt
T
Roman Artemev 261edd5f4c [JS IR BE] Implement property reference
Add cache for direct (which has no closured parameters) KCallable references
Refactor FunctionReferenceLowering
 * Rename FunctionReferenceLowering -> CallableReferenceLowering
 * Add util method to create value parameters
2018-06-04 18:59:40 +03:00

25 lines
702 B
Kotlin
Vendored

// EXPECTED_REACHABLE_NODES: 1109
// This test was adapted from compiler/testData/codegen/box/callableReference/function/local/.
package foo
import kotlin.reflect.KFunction
fun foo0() = "OK"
fun foo1(a: String) = "O" + a
fun foo2(a: String, b: String) = a + b
fun refName0(ref: KFunction<String>) = ref.name
//fun refName1(ref: KFunction1<String, String>) = ref.name
//fun refName2(ref: KFunction2<String, String, String>) = ref.name
fun box(): String {
val name = refName0(::foo0)
val f1 = ::foo1
val f2 = ::foo2
if (name != "foo0") return "Fail: " + name
if (f1.name != "foo1") return "Fail: " + f1.name
if (f2.name != "foo2") return "Fail: " + f2.name
return "OK"
}