Files
kotlin-fork/compiler/testData/codegen/boxWithStdlib/reflection/genericSignature/kt6106.kt
T
Alexander Udalov 128c938965 Make Array.size() a function instead of a property
Also add a deprecated extension property to help migration. This is done to
unify getting size of arrays and collections
2014-11-17 15:02:38 +03:00

29 lines
699 B
Kotlin

package test
import kotlin.platform.platformStatic
open class B
class A {
class object {
[platformStatic]
fun <T: B> a(s: T) : T {
return s
}
}
}
fun box(): String {
val method = javaClass<A>().getDeclaredMethod("a", javaClass<B>())
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"
}