fix corner case in conditionals (#4777)
This commit is contained in:
@@ -11044,6 +11044,7 @@ merge(Compressor.prototype, {
|
|||||||
if (len != b.length) return -2;
|
if (len != b.length) return -2;
|
||||||
for (var i = 0; i < len; i++) {
|
for (var i = 0; i < len; i++) {
|
||||||
if (!a[i].equivalent_to(b[i])) {
|
if (!a[i].equivalent_to(b[i])) {
|
||||||
|
if (a[i] instanceof AST_Spread !== b[i] instanceof AST_Spread) return -3;
|
||||||
for (var j = i + 1; j < len; j++) {
|
for (var j = i + 1; j < len; j++) {
|
||||||
if (!a[j].equivalent_to(b[j])) return -2;
|
if (!a[j].equivalent_to(b[j])) return -2;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ collapse_vars_4: {
|
|||||||
node_version: ">=6"
|
node_version: ">=6"
|
||||||
}
|
}
|
||||||
|
|
||||||
conditionals_farg: {
|
conditionals_farg_1: {
|
||||||
options = {
|
options = {
|
||||||
conditionals: true,
|
conditionals: true,
|
||||||
}
|
}
|
||||||
@@ -107,6 +107,28 @@ conditionals_farg: {
|
|||||||
node_version: ">=6"
|
node_version: ">=6"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
conditionals_farg_2: {
|
||||||
|
options = {
|
||||||
|
conditionals: true,
|
||||||
|
pure_getters: "strict",
|
||||||
|
reduce_vars: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
var log = console.log;
|
||||||
|
(function(a) {
|
||||||
|
return a.length ? log(...a) : log("FAIL");
|
||||||
|
})([ "PASS" ]);
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
var log = console.log;
|
||||||
|
(function(a) {
|
||||||
|
return a.length ? log(...a) : log("FAIL");
|
||||||
|
})([ "PASS" ]);
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
node_version: ">=6"
|
||||||
|
}
|
||||||
|
|
||||||
dont_inline: {
|
dont_inline: {
|
||||||
options = {
|
options = {
|
||||||
inline: true,
|
inline: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user