Files
kotlin-fork/backend.native/tests/external/codegen/blackbox/reflection/genericSignature/covariantOverride.kt
T

22 lines
522 B
Kotlin

// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS, NATIVE
// WITH_REFLECT
interface A {
fun foo(): Collection<Any>
}
abstract class B : A {
override fun foo(): Collection<String> = null!!
}
fun box(): String {
val clazz = B::class.java
if (clazz.declaredMethods.first().genericReturnType.toString() != "java.util.Collection<java.lang.String>") return "fail 1"
if (clazz.methods.filter { it.name == "foo" }.size != 1) return "fail 2"
return "OK"
}