Bridges (#240)
* - 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
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
// 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())
|
||||
}
|
||||
Reference in New Issue
Block a user