Files
kotlin-fork/compiler/testData/codegen/boxWithStdlib/reflection/mapping/jvmStatic/objectFunction.kt
T
Alexander Udalov 8e77e16bbd Remove leftovers of platformName and platformStatic in test data
Drop unnecessary imports, rename some tests
2016-03-02 16:47:04 +03:00

21 lines
530 B
Kotlin
Vendored

import kotlin.reflect.KFunction
import kotlin.reflect.jvm.*
import kotlin.test.assertEquals
object O {
@JvmStatic
fun foo(s: String): Int = s.length
}
fun box(): String {
val foo = O::class.members.single { it.name == "foo" } as KFunction<*>
val j = foo.javaMethod ?: return "Fail: no Java method found for O::foo"
assertEquals(3, j.invoke(null, "abc"))
val k = j.kotlinFunction ?: return "Fail: no Kotlin function found for Java method O::foo"
assertEquals(3, k.call(O, "def"))
return "OK"
}