[JS] Keep interfaces
^KT-54173 fixed
This commit is contained in:
committed by
Space Team
parent
41c9ffb060
commit
7d8636aac4
@@ -0,0 +1,34 @@
|
||||
// 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"
|
||||
}
|
||||
Reference in New Issue
Block a user