Files
kotlin-fork/idea/testData/refactoring/changeSignature/GenericsWithOverridesAfter.kt
T

23 lines
595 B
Kotlin
Vendored

class U<A>
interface T<A, B> {
fun <C> foofoofoo(a: List<C>, b: A?, c: U<B>): U<C>?
}
abstract class T1<X, Y> : T<U<X>, U<Y>> {
override fun <C> foofoofoo(a: List<C>, b: U<X>?, c: U<U<Y>>): U<C>? {
throw UnsupportedOperationException()
}
}
abstract class T2<X> : T1<X, String>() {
override fun <C> foofoofoo(a: List<C>, b: U<X>?, c: U<U<String>>): U<C>? {
throw UnsupportedOperationException()
}
}
class T3 : T2<Any>() {
override fun <D> foofoofoo(a: List<D>, b: U<Any>?, c: U<U<String>>): U<D>? {
throw UnsupportedOperationException()
}
}