package codegen.bridges.test14 import kotlin.test.* open class A { open fun foo(x: T, y: U) { println(x.toString()) println(y.toString()) } } interface I1 { fun foo(x: Int, y: T) } interface I2 { fun foo(x: T, y: Int) } class B : A(), I1, I2 { var z: Int = 5 var q: Int = 7 override fun foo(x: Int, y: Int) { z = x q = y } } fun zzz(a: A) { a.foo(42, 56) } @Test fun runTest() { val b = B() zzz(b) val a = A() zzz(a) println(b.z) println(b.q) val i1: I1 = b i1.foo(56, 42) println(b.z) println(b.q) val i2: I2 = b i2.foo(156, 142) println(b.z) println(b.q) }