0c24d0ec9f
KT-52252 Merge-request: KT-MR-6270 Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>
60 lines
1.1 KiB
Kotlin
Vendored
60 lines
1.1 KiB
Kotlin
Vendored
// TARGET_BACKEND: JS_IR
|
|
|
|
// FILE: lib.kt
|
|
package com.baz
|
|
interface Baz {
|
|
val baz1: String
|
|
val baz2: String
|
|
var baz3: String
|
|
}
|
|
|
|
// FILE: lib2.kt
|
|
@file:JsExport
|
|
package com.baz
|
|
|
|
class Bay : Baz {
|
|
override val baz1: String
|
|
get() = "baz1"
|
|
|
|
override val baz2: String = "baz2"
|
|
|
|
override var baz3: String = "baz3"
|
|
}
|
|
|
|
// FILE: main.kt
|
|
import com.baz.*
|
|
interface Foo {
|
|
val foo: String
|
|
|
|
val foo2: String
|
|
|
|
var foo3: String
|
|
}
|
|
|
|
@JsExport
|
|
class Bar : Foo {
|
|
override val foo: String
|
|
get() = "foo"
|
|
|
|
override val foo2: String = "foo2"
|
|
|
|
override var foo3: String = "foo3"
|
|
}
|
|
|
|
fun box(): String {
|
|
val bar = Bar()
|
|
if (bar.foo != "foo") return "fail 1"
|
|
if (bar.foo2 != "foo2") return "fail 2"
|
|
if (bar.foo3 != "foo3") return "fail 3"
|
|
bar.foo3 = "foo4"
|
|
if (bar.foo3 != "foo4") return "fail 4"
|
|
|
|
val bay = Bay()
|
|
if (bay.baz1 != "baz1") return "fail 5"
|
|
if (bay.baz2 != "baz2") return "fail 6"
|
|
if (bay.baz3 != "baz3") return "fail 7"
|
|
bay.baz3 = "baz4"
|
|
if (bay.baz3 != "baz4") return "fail 8"
|
|
|
|
return "OK"
|
|
} |