Files
kotlin-fork/js/js.translator/testData/box/keep/keepInterface.kt
T
Ilya Goncharov 7d8636aac4 [JS] Keep interfaces
^KT-54173 fixed
2022-09-29 16:12:19 +00:00

34 lines
549 B
Kotlin
Vendored

// TARGET_BACKEND: JS_IR
// ONLY_IR_DCE
// RUN_PLAIN_BOX_FUNCTION
// INFER_MAIN_MODULE
// KEEP: DenotedFace
// MODULE: keep_interface
// FILE: lib.kt
interface DenotedFace {
fun keepMeA() = 7
fun keepMeB(): Int
}
class A : DenotedFace {
override fun keepMeB(): Int {
return 8
}
}
@JsExport
fun foo(): A {
return A()
}
// FILE: test.js
function box() {
var a = this["keep_interface"].foo()
if (a.keepMeA_ds0nq4_k$() != 7) return "fail 1"
if (a.keepMeB_ds0nq3_k$() != 8) return "fail 2"
return "OK"
}