JS: refactor JsScope, JsName and related things, since it's became unnecessary to track scopes and declaration order of temporary JsName's
This commit is contained in:
@@ -365,7 +365,7 @@ internal class ExpressionDecomposer private constructor(
|
||||
}
|
||||
|
||||
private inner class Temporary(val value: JsExpression? = null) {
|
||||
val name: JsName = scope.declareTemporary()
|
||||
val name: JsName = JsScope.declareTemporary()
|
||||
|
||||
val variable: JsVars = newVar(name, value).apply {
|
||||
synthetic = true
|
||||
|
||||
@@ -50,9 +50,6 @@ class NamingContext(
|
||||
|
||||
fun getFreshName(candidate: String): JsName = scope.declareFreshName(candidate)
|
||||
|
||||
|
||||
fun getTemporaryName(candidate: String): JsName = scope.declareTemporaryName(candidate)
|
||||
|
||||
fun newVar(name: JsName, value: JsExpression? = null) {
|
||||
val vars = JsAstUtils.newVar(name, value)
|
||||
vars.synthetic = true
|
||||
|
||||
@@ -32,7 +32,7 @@ fun aliasArgumentsIfNeeded(
|
||||
for ((arg, param) in arguments.zip(parameters)) {
|
||||
val paramName = param.name
|
||||
|
||||
val replacement = context.getTemporaryName(paramName.ident).apply {
|
||||
val replacement = JsScope.declareTemporaryName(paramName.ident).apply {
|
||||
staticRef = arg
|
||||
context.newVar(this, arg.deepCopy())
|
||||
}.makeRef()
|
||||
@@ -43,7 +43,7 @@ fun aliasArgumentsIfNeeded(
|
||||
val defaultParams = parameters.subList(arguments.size, parameters.size)
|
||||
for (defaultParam in defaultParams) {
|
||||
val paramName = defaultParam.name
|
||||
val freshName = context.getTemporaryName(paramName.ident)
|
||||
val freshName = JsScope.declareTemporaryName(paramName.ident)
|
||||
context.newVar(freshName)
|
||||
|
||||
context.replaceName(paramName, freshName.makeRef())
|
||||
@@ -58,7 +58,7 @@ fun renameLocalNames(
|
||||
function: JsFunction
|
||||
) {
|
||||
for (name in collectDefinedNames(function.body)) {
|
||||
val temporaryName = context.getTemporaryName(name.ident).apply { staticRef = name.staticRef }
|
||||
val temporaryName = JsScope.declareTemporaryName(name.ident).apply { staticRef = name.staticRef }
|
||||
context.replaceName(name, temporaryName.makeRef())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user