fix corner cases in reduce_vars & unused (#3955)

fixes #3953
fixes #3956
fixes #3957
This commit is contained in:
Alex Lam S.L
2020-06-05 11:51:21 +01:00
committed by GitHub
parent fbc9d8009b
commit eb481cee8c
4 changed files with 124 additions and 10 deletions

View File

@@ -2652,3 +2652,41 @@ issue_3951: {
"0",
]
}
issue_3956: {
options = {
collapse_vars: true,
evaluate: true,
inline: true,
passes: 2,
reduce_vars: true,
sequences: true,
side_effects: true,
toplevel: true,
unused: true,
}
input: {
(function(a) {
function f(b) {
console.log(b);
a = 1;
}
var c = f(c += 0);
(function(d) {
console.log(d);
})(console.log(a) ^ 1, c);
})();
}
expect: {
var c, d;
c += 0,
console.log(NaN),
d = 1 ^ console.log(1),
console.log(d);
}
expect_stdout: [
"NaN",
"1",
"1",
]
}