c746da3ce4
* - bridges building - bridges support in vtable and methods table * FunctionDescriptor.signature fix + some assertions * tests * refactoring * refactoring * removed debug output * refactoring * review fixes * implemented bridge construction for parameters * tests * refactoring * removed custom box/unbox * added bridge for extension receiver
30 lines
496 B
Kotlin
30 lines
496 B
Kotlin
// generic interface, non-generic impl, vtable call + interface call
|
|
open class A {
|
|
open var size: Int = 56
|
|
}
|
|
|
|
interface C<T> {
|
|
var size: T
|
|
}
|
|
|
|
open class B : C<Int>, A()
|
|
|
|
fun box(): String {
|
|
val b = B()
|
|
if (b.size != 56) return "fail 1"
|
|
|
|
b.size = 55
|
|
if (b.size != 55) return "fail 2"
|
|
|
|
val c: C<Int> = b
|
|
if (c.size != 55) return "fail 3"
|
|
|
|
c.size = 57
|
|
if (c.size != 57) return "fail 4"
|
|
|
|
return "OK"
|
|
}
|
|
|
|
fun main(args: Array<String>) {
|
|
println(box())
|
|
} |