JS: fix bug in temporary variable elimination
This commit is contained in:
@@ -130,6 +130,9 @@ internal class TemporaryVariableElimination(private val function: JsFunction) {
|
||||
temporary += name
|
||||
}
|
||||
}
|
||||
else {
|
||||
super.visitExpressionStatement(x)
|
||||
}
|
||||
return
|
||||
}
|
||||
super.visitExpressionStatement(x)
|
||||
|
||||
+2
@@ -40,4 +40,6 @@ class TemporaryVariableEliminationTest : BasicOptimizerTest("temporary-variable"
|
||||
@Test fun innerExpressionProcessed() = box()
|
||||
|
||||
@Test fun transitiveNotConsideredTrivial() = box()
|
||||
|
||||
@Test fun assignmentToNonLocal() = box()
|
||||
}
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
var result = "";
|
||||
|
||||
function box() {
|
||||
var $tmp;
|
||||
$tmp = result;
|
||||
result += "fail";
|
||||
result = $tmp + "OK";
|
||||
return result;
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
var result = "";
|
||||
|
||||
function box() {
|
||||
var $tmp;
|
||||
$tmp = result;
|
||||
result += "fail";
|
||||
result = $tmp + "OK";
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user