Files
kotlin-fork/js/js.translator/testData/box/export/overriddenPropertyFromInterface.kt
T
Ilya Goncharov 0c24d0ec9f [JS IR]Add case with file-exported class inherited from non-exported int
KT-52252

Merge-request: KT-MR-6270
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>
2022-05-13 10:41:16 +00:00

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"
}