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