Files
kotlin-fork/js/js.translator/testData/box/keep/keepMethod.kt
T
Ilya Goncharov d203dc35bf [JS IR] Add to IR keep possibility similar to legacy-dce one
It helps to:

- keep declarations even if they are not reachable and not exported
- not minify names of not exported declarations

Compiler argument: -Xir-keep=A,B

Can be used for top-level declarations or for member

^KT-54118 fixed
2022-09-20 16:06:17 +00:00

33 lines
505 B
Kotlin
Vendored

// TARGET_BACKEND: JS_IR
// ONLY_IR_DCE
// RUN_PLAIN_BOX_FUNCTION
// INFER_MAIN_MODULE
// KEEP: A.foo
// MODULE: keep_method
// FILE: lib.kt
class A {
fun foo(): String {
return "foo"
}
fun bar(): String {
return "bar"
}
}
@JsExport
fun bar(): A {
return A()
}
// FILE: test.js
function box() {
var a = this["keep_method"].bar()
if (a.foo_26di_k$() != "foo") return "fail 1"
if (typeof a.bar_232r_k$ !== "undefined") return "fail 2"
return "OK"
}