fix variable substitution (#1816)

- let `collapse_vars` take care of value containing any symbols
- improve overhead accounting
This commit is contained in:
Alex Lam S.L
2017-04-16 17:25:39 +08:00
committed by alexlamsl
parent 04b8964505
commit 43ad4e9775
3 changed files with 87 additions and 9 deletions

View File

@@ -1995,3 +1995,55 @@ catch_var: {
}
expect_stdout: "true"
}
issue_1814_1: {
options = {
evaluate: true,
reduce_vars: true,
unused: true,
}
input: {
const a = 42;
!function() {
var b = a;
!function(a) {
console.log(a++, b);
}(0);
}();
}
expect: {
const a = 42;
!function() {
!function(a) {
console.log(a++, 42);
}(0);
}();
}
expect_stdout: "0 42"
}
issue_1814_2: {
options = {
evaluate: true,
reduce_vars: true,
unused: true,
}
input: {
const a = "32";
!function() {
var b = a + 1;
!function(a) {
console.log(a++, b);
}(0);
}();
}
expect: {
const a = "32";
!function() {
!function(a) {
console.log(a++, "321");
}(0);
}();
}
expect_stdout: "0 '321'"
}