mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-11 15:53:46 +00:00
Inline functions with reified type parameters are generated as private (see AsmUtil.specialCaseVisibility), so we should treat them as "declared" in reflection to look them up via getDeclaredMethod, not getMethod #KT-14721 Fixed
24 lines
441 B
Kotlin
Vendored
24 lines
441 B
Kotlin
Vendored
// IGNORE_BACKEND: JS
|
|
// WITH_REFLECT
|
|
|
|
import kotlin.reflect.*
|
|
import kotlin.reflect.jvm.*
|
|
import kotlin.test.assertEquals
|
|
|
|
inline fun <reified T> f() = 1
|
|
|
|
fun g() {}
|
|
|
|
class Foo {
|
|
inline fun <reified T> h(t: T) = 1
|
|
}
|
|
|
|
fun box(): String {
|
|
assertEquals(::g, ::g.javaMethod!!.kotlinFunction)
|
|
|
|
val h = Foo::class.members.single { it.name == "h" } as KFunction<*>
|
|
assertEquals(h, h.javaMethod!!.kotlinFunction)
|
|
|
|
return "OK"
|
|
}
|