[K/JS] Support eager initialization for per-file granularity

This commit is contained in:
Artem Kobzar
2023-09-06 09:27:28 +00:00
committed by Space Team
parent f203681ffa
commit bff433f4e9
22 changed files with 288 additions and 29 deletions
@@ -1404,7 +1404,10 @@ public class JsToStringGenerationVisitor extends JsVisitor {
p.print("}");
}
p.print(" from ");
if (!(target == JsImport.Target.Effect.INSTANCE)) {
p.print(" from ");
}
p.print(javaScriptString(jsImport.getModule()));
}
@@ -15,6 +15,7 @@ class JsImport(
get() = (target as Target.Elements).elements
sealed class Target {
object Effect : Target()
class Elements(val elements: MutableList<Element>) : Target()
class Default(val name: JsNameRef) : Target() {
constructor(name: String) : this(JsNameRef(name))
@@ -36,6 +37,7 @@ class JsImport(
override fun acceptChildren(visitor: JsVisitor) {
when (target) {
is Target.Effect -> {}
is Target.All -> visitor.accept(target.alias)
is Target.Default -> visitor.accept(target.name)
is Target.Elements -> target.elements.forEach {