[JS IR] split fqn-ish JsNames before resolving temporary names

This commit is contained in:
Anton Bannykh
2021-10-18 20:58:30 +03:00
committed by TeamCityServer
parent a5d9cb0cc6
commit 05e8bfcd2a
@@ -8,6 +8,21 @@ package org.jetbrains.kotlin.ir.backend.js.transformers.irToJs
import org.jetbrains.kotlin.js.backend.ast.*
fun JsNode.resolveTemporaryNames() {
object : JsVisitorWithContextImpl() {
override fun endVisit(x: JsNameRef, ctx: JsContext<JsNode>) {
x.name?.ident?.let {
if (it.contains('.')) {
val parts = it.split('.').map { JsName(it, false) }
var result = JsNameRef(parts[0])
for (i in 1 until parts.size) {
result = JsNameRef(parts[i], result)
}
ctx.replaceMe(result)
}
}
}
}.accept(this)
val renamings = resolveNames()
accept(object : RecursiveJsVisitor() {
override fun visitElement(node: JsNode) {