Skip to content

Commit 5a5200d

Browse files
authored
fix corner case in conditionals (#5713)
fixes #5712
1 parent 5411360 commit 5a5200d

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

lib/compress.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11809,7 +11809,7 @@ Compressor.prototype.compress = function(node) {
1180911809
left: self.left.right,
1181011810
right: self.right,
1181111811
});
11812-
var after = before.optimize(compressor);
11812+
var after = before.transform(compressor);
1181311813
if (before !== after) {
1181411814
self.left = self.left.left;
1181511815
self.right = after;

test/compress/conditionals.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3051,3 +3051,20 @@ issue_5694: {
30513051
}
30523052
expect_stdout: "NaN"
30533053
}
3054+
3055+
issue_5712: {
3056+
options = {
3057+
booleans: true,
3058+
conditionals: true,
3059+
evaluate: true,
3060+
}
3061+
input: {
3062+
var a = 0;
3063+
a || (++a).toString() && a && console.log("PASS");
3064+
}
3065+
expect: {
3066+
var a = 0;
3067+
a || (++a).toString() && a && console.log("PASS");
3068+
}
3069+
expect_stdout: "PASS"
3070+
}

0 commit comments

Comments
 (0)