JS: minor
This commit is contained in:
@@ -17,7 +17,6 @@
|
|||||||
package org.jetbrains.kotlin.js.inline.clean
|
package org.jetbrains.kotlin.js.inline.clean
|
||||||
|
|
||||||
import org.jetbrains.kotlin.js.backend.ast.*
|
import org.jetbrains.kotlin.js.backend.ast.*
|
||||||
import org.jetbrains.kotlin.js.backend.ast.metadata.coroutineMetadata
|
|
||||||
|
|
||||||
fun JsNode.resolveTemporaryNames() {
|
fun JsNode.resolveTemporaryNames() {
|
||||||
val renamings = resolveNames()
|
val renamings = resolveNames()
|
||||||
@@ -31,14 +30,6 @@ fun JsNode.resolveTemporaryNames() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitFunction(x: JsFunction) {
|
|
||||||
x.coroutineMetadata?.apply {
|
|
||||||
accept(suspendObjectRef)
|
|
||||||
accept(baseClassRef)
|
|
||||||
}
|
|
||||||
super.visitFunction(x)
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +68,7 @@ private fun JsNode.resolveNames(): Map<JsName, JsName> {
|
|||||||
var labels = mutableSetOf<String>()
|
var labels = mutableSetOf<String>()
|
||||||
|
|
||||||
override fun visitLabel(x: JsLabel) {
|
override fun visitLabel(x: JsLabel) {
|
||||||
val addedNames = mutableSetOf<String>()
|
var addedName: String? = null
|
||||||
if (x.name.isTemporary) {
|
if (x.name.isTemporary) {
|
||||||
var resolvedName = x.name.ident
|
var resolvedName = x.name.ident
|
||||||
var suffix = 0
|
var suffix = 0
|
||||||
@@ -85,15 +76,17 @@ private fun JsNode.resolveNames(): Map<JsName, JsName> {
|
|||||||
resolvedName = "${x.name.ident}_${suffix++}"
|
resolvedName = "${x.name.ident}_${suffix++}"
|
||||||
}
|
}
|
||||||
replacements[x.name] = JsDynamicScope.declareName(resolvedName)
|
replacements[x.name] = JsDynamicScope.declareName(resolvedName)
|
||||||
addedNames += resolvedName
|
addedName = resolvedName
|
||||||
}
|
}
|
||||||
super.visitLabel(x)
|
super.visitLabel(x)
|
||||||
labels.removeAll(addedNames)
|
addedName?.let {
|
||||||
|
labels.remove(it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitFunction(x: JsFunction) {
|
override fun visitFunction(x: JsFunction) {
|
||||||
val oldLabels = labels
|
val oldLabels = labels
|
||||||
labels = mutableSetOf<String>()
|
labels = mutableSetOf()
|
||||||
super.visitFunction(x)
|
super.visitFunction(x)
|
||||||
labels = oldLabels
|
labels = oldLabels
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ package org.jetbrains.kotlin.js.translate.general
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.js.backend.ast.*
|
import org.jetbrains.kotlin.js.backend.ast.*
|
||||||
import org.jetbrains.kotlin.js.backend.ast.metadata.*
|
import org.jetbrains.kotlin.js.backend.ast.metadata.exportedPackage
|
||||||
|
import org.jetbrains.kotlin.js.backend.ast.metadata.exportedTag
|
||||||
import org.jetbrains.kotlin.js.translate.context.Namer
|
import org.jetbrains.kotlin.js.translate.context.Namer
|
||||||
import org.jetbrains.kotlin.js.translate.utils.JsAstUtils
|
import org.jetbrains.kotlin.js.translate.utils.JsAstUtils
|
||||||
import org.jetbrains.kotlin.js.translate.utils.createPrototypeStatements
|
import org.jetbrains.kotlin.js.translate.utils.createPrototypeStatements
|
||||||
@@ -182,26 +183,7 @@ class Merger(
|
|||||||
override fun visitElement(node: JsNode) {
|
override fun visitElement(node: JsNode) {
|
||||||
super.visitElement(node)
|
super.visitElement(node)
|
||||||
if (node is HasName) {
|
if (node is HasName) {
|
||||||
val oldName = node.name
|
node.name = node.name?.let { rename(it) }
|
||||||
node.name = oldName?.let { rename(it) }
|
|
||||||
node.name?.localAlias = oldName?.localAlias?.let { it.copy(name = rename(it.name)) }
|
|
||||||
}
|
|
||||||
if (node is JsFunction) {
|
|
||||||
val coroutineMetadata = node.coroutineMetadata
|
|
||||||
if (coroutineMetadata != null) {
|
|
||||||
node.coroutineMetadata = coroutineMetadata.copy(
|
|
||||||
baseClassRef = rename(coroutineMetadata.baseClassRef),
|
|
||||||
suspendObjectRef = rename(coroutineMetadata.suspendObjectRef)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (node is JsExpression) {
|
|
||||||
node.localAlias = node.localAlias?.let {
|
|
||||||
JsImportedModule(it.externalName,
|
|
||||||
rename(it.internalName),
|
|
||||||
it.plainReference?.let { rename(it) }
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user