fix corner cases in assignments, reduce_vars & unused (#3950)

fixes #3949
fixes #3951
This commit is contained in:
Alex Lam S.L
2020-06-04 21:06:43 +01:00
committed by GitHub
parent a489f8cb5e
commit 04fd3d90f8
9 changed files with 317 additions and 75 deletions

View File

@@ -1579,9 +1579,9 @@ issue_2968_1: {
expect: {
var c = "FAIL";
(function() {
b = -(a = 42),
void ((a <<= 0) && (a[(c = "PASS", 0 >>> (b += 1))] = 0));
var a, b;
a = 42,
void ((a <<= 0) && (a[(c = "PASS", 0)] = 0));
var a;
})();
console.log(c);
}
@@ -2341,10 +2341,7 @@ issue_3878_1: {
console.log(b ? "PASS" : "FAIL");
}
expect: {
var b = function(a) {
return (a = 0) == (a && this > (a += 0));
}();
console.log(b ? "PASS" : "FAIL");
console.log(true ? "PASS" : "FAIL");
}
expect_stdout: "PASS"
}
@@ -2435,12 +2432,11 @@ issue_3903: {
console.log(d);
}
expect: {
var a = "PASS";
function f(b, c) {
return console, c;
}
var d = f(f(), a = a);
console.log(d);
f(f(), "PASS");
console.log("PASS");
}
expect_stdout: "PASS"
}
@@ -2649,7 +2645,7 @@ issue_3933: {
}
expect: {
(function(a, b) {
1, (b ^= 1), console.log("PASS");
1, 1, console.log("PASS");
})();
}
expect_stdout: "PASS"