[K/JS] Fix initialization issue for objects which annotated with @JsExport and contain nested classes
Merge-request: KT-MR-11146 Merged-by: Artem Kobzar <Artem.Kobzar@jetbrains.com>
This commit is contained in:
@@ -2,8 +2,6 @@
|
||||
// See KT-6201
|
||||
package foo
|
||||
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
var log = ""
|
||||
|
||||
open class Mixin {
|
||||
@@ -39,8 +37,20 @@ object O5 {
|
||||
val someValue = O3.also { log = "O5 also" }
|
||||
}
|
||||
|
||||
@JsExport
|
||||
object O6 {
|
||||
init {
|
||||
log = "O6 init"
|
||||
}
|
||||
object O7 {
|
||||
init {
|
||||
log = "O7 init"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
if (log != "") return "Fail: something was initialized before any object was used"
|
||||
if (log != "") return "Fail: something was initialized before any object was used: $log"
|
||||
O1
|
||||
if (log != "O1 init") return "Fail: O1 didn't initialized lazy"
|
||||
O2
|
||||
@@ -51,5 +61,10 @@ fun box(): String {
|
||||
if (log != "initCall") return "Fail: O4 didn't initialized lazy"
|
||||
O5
|
||||
if (log != "O5 also") return "Fail: O5 didn't initialized lazy"
|
||||
O6
|
||||
if (log != "O6 init") return "Fail: O6 didn't initialized lazy"
|
||||
O6.O7
|
||||
if (log != "O7 init") return "Fail: O7 didn't initialized lazy"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user