febac0dd5f
^KT-65979
32 lines
570 B
Kotlin
Vendored
32 lines
570 B
Kotlin
Vendored
/*
|
|
* 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.*
|
|
|
|
// abstract class vtable call
|
|
abstract class A {
|
|
abstract fun foo(): String
|
|
}
|
|
|
|
abstract class B : A()
|
|
|
|
class Z : B() {
|
|
override fun foo() = "Z"
|
|
}
|
|
|
|
|
|
fun box(): String {
|
|
val z = Z()
|
|
val b: B = z
|
|
val a: A = z
|
|
return when {
|
|
z.foo() != "Z" -> "Fail #1"
|
|
b.foo() != "Z" -> "Fail #2"
|
|
a.foo() != "Z" -> "Fail #3"
|
|
else -> "OK"
|
|
}
|
|
}
|