[Tests] Migrate backend-independent tests from native to compiler/testData.
^KT-65979
This commit is contained in:
committed by
Space Team
parent
dd9332d9e1
commit
febac0dd5f
+41
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||
* that can be found in the LICENSE file.
|
||||
*/
|
||||
// WITH_STDLIB
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
// vtable call + interface call
|
||||
interface Z {
|
||||
fun foo(): Any
|
||||
}
|
||||
|
||||
interface Y {
|
||||
fun foo(): Int
|
||||
}
|
||||
|
||||
open class A {
|
||||
open fun foo(): Any = "A"
|
||||
}
|
||||
|
||||
open class C : A() {
|
||||
override fun foo(): Int = 42
|
||||
}
|
||||
|
||||
open class D: C(), Y, Z
|
||||
|
||||
fun box(): String {
|
||||
val d = D()
|
||||
val y: Y = d
|
||||
val z: Z = d
|
||||
val c: C = d
|
||||
val a: A = d
|
||||
if (d.foo().toString() != "42") return "FAIL 1"
|
||||
if (y.foo().toString() != "42") return "FAIL 2"
|
||||
if (z.foo().toString() != "42") return "FAIL 3"
|
||||
if (c.foo().toString() != "42") return "FAIL 4"
|
||||
if (a.foo().toString() != "42") return "FAIL 5"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user