Test on abstract bridge

This commit is contained in:
Igor Chevdar
2017-05-10 14:19:21 +03:00
parent 97fe5c6b46
commit 39d1b8956d
2 changed files with 30 additions and 0 deletions
+5
View File
@@ -683,6 +683,11 @@ task bridges_test16(type: RunKonanTest) {
source = "codegen/bridges/test16.kt"
}
task bridges_test17(type: RunKonanTest) {
goldValue = "42\n42\n42\n42\n"
source = "codegen/bridges/test17.kt"
}
task bridges_linkTest(type: LinkKonanTest) {
goldValue = "42\n42\n42\n"
source = "codegen/bridges/linkTest_main.kt"
@@ -0,0 +1,25 @@
// abstract bridge
interface A<T> {
fun foo(): T
}
abstract class B<T>: A<T>
abstract class C: B<Int>()
class D: C() {
override fun foo(): Int {
return 42
}
}
fun main(args: Array<String>) {
val d = D()
val c: C = d
val b: B<Int> = d
val a: A<Int> = d
println(d.foo())
println(c.foo())
println(b.foo())
println(a.foo())
}