Files
kotlin-fork/compiler/testData/codegen/boxWithStdlib/reflection/genericSignature/kt6106.kt
T
2016-01-22 05:54:38 +03:00

27 lines
654 B
Kotlin
Vendored

package test
open class B
class A {
companion object {
@JvmStatic
fun <T: B> a(s: T) : T {
return s
}
}
}
fun box(): String {
val method = A::class.java.getDeclaredMethod("a", B::class.java)
val genericParameterTypes = method.getGenericParameterTypes()
if (genericParameterTypes.size != 1) return "Wrong number of generic parameters"
if (genericParameterTypes[0].toString() != "T") return "Wrong parameter type ${genericParameterTypes[0].toString()}"
if (method.getGenericReturnType().toString() != "T") return "Wrong return type ${method.getGenericReturnType()}"
return "OK"
}