blob: 6ced15c1fd504902384607e99417c8b979496677 [file] [log] [blame]
// SKIP_KLIB_TEST
// See KT-44312
// IGNORE_BACKEND_K2: ANY
// ^ TODO decide if we want to fix KT-42020 for FIR as well
open class Base<T> {
fun foo(x: T) {}
fun foo(y: String) {}
val T.bar get() = 1
val String.bar get() = 2
}
open class Derived : Base<String>()
class Derived2 : Derived()
fun test(b: Base<String>, d: Derived, d2: Derived2) {
b.foo(x = "")
b.foo(y = "")
d.foo(x = "")
d.foo(y = "")
d2.foo(x = "")
d2.foo(y = "")
}
open class BaseXY<X, Y> {
fun foo(x: X, y: String) {}
fun foo(x: String, y: Y) {}
}
class DerivedXY : BaseXY<String, String>()
fun outerFun() {
open class LocalBase<T> {
fun foo(x: T) {}
fun foo(y: String) {}
val T.bar get() = 1
val String.bar get() = 2
}
open class LocalDerived : LocalBase<String>()
class LocalDerived2 : LocalDerived()
fun test(b: LocalBase<String>, d: LocalDerived, d2: LocalDerived2) {
b.foo(x = "")
b.foo(y = "")
d.foo(x = "")
d.foo(y = "")
d2.foo(x = "")
d2.foo(y = "")
}
}
open class Outer<T> {
open inner class Inner {
fun foo(x: T) {}
fun foo(y: String) {}
}
}
class OuterDerived : Outer<String>() {
inner class InnerDerived : Inner()
}