[JS IR] Add test with chain export--not-export--export

^KT-44616 fixed
This commit is contained in:
Ilya Goncharov
2021-02-08 11:48:50 +03:00
parent 76b124a9c0
commit 19bffc694b
4 changed files with 53 additions and 0 deletions
@@ -0,0 +1,38 @@
// IGNORE_BACKEND: JS
// RUN_PLAIN_BOX_FUNCTION
// INFER_MAIN_MODULE
// MODULE: overriden-chain-non-export-intermediate
// FILE: lib.kt
@JsExport
abstract class A {
abstract fun foo(): String
abstract fun bar(): String
}
abstract class B : A() {
abstract fun baz(): String
override fun foo(): String = "foo"
}
@JsExport
class C : B() {
override fun bar(): String = "bar"
override fun baz(): String = "baz"
fun bay(): String = "bay"
}
// FILE: test.js
function box() {
return test(new this["overriden-chain-non-export-intermediate"].C());
}
function test(c) {
if (c.foo() === "foo" && c.bar() === "bar" && c.bay() == "bay") return "OK"
return "fail"
}