JS: test property inline through fake override
This commit is contained in:
@@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
interface M3 {
|
interface M3 {
|
||||||
fun foo(): Int
|
fun foo(): Int
|
||||||
|
val baz: Int
|
||||||
|
val baw: Int
|
||||||
}
|
}
|
||||||
|
|
||||||
// MODULE: m2
|
// MODULE: m2
|
||||||
@@ -11,6 +13,10 @@ interface M3 {
|
|||||||
open class M2 {
|
open class M2 {
|
||||||
inline fun foo() = 1
|
inline fun foo() = 1
|
||||||
inline fun <reified T : Any> bar() = T::class
|
inline fun <reified T : Any> bar() = T::class
|
||||||
|
inline val baz: Int
|
||||||
|
get() = foo() + 1
|
||||||
|
val baw: Int
|
||||||
|
inline get() = foo() + 2
|
||||||
}
|
}
|
||||||
|
|
||||||
// MODULE: m1(m2, m3)
|
// MODULE: m1(m2, m3)
|
||||||
@@ -21,8 +27,12 @@ class M1 : M2(), M3
|
|||||||
// MODULE: main(m1, m2)
|
// MODULE: main(m1, m2)
|
||||||
// FILE: main.kt
|
// FILE: main.kt
|
||||||
|
|
||||||
|
// CHECK_CONTAINS_NO_CALLS: box except=equals;getKClass
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
if (M1().foo() != 1) return "fail"
|
if (M1().foo() != 1) return "fail"
|
||||||
if (M1().bar<M1>().simpleName != "M1") return "fail"
|
if (M1().bar<M1>().simpleName != "M1") return "fail"
|
||||||
|
if (M1().baz != 2) return "fail"
|
||||||
|
if (M1().baw != 3) return "fail"
|
||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user