@@ -4456,8 +4456,13 @@ merge(Compressor.prototype, {
|
||||
var sym = def.name.definition();
|
||||
if (!drop_vars || sym.id in in_use_ids) {
|
||||
if (def.value && indexOf_assign(sym, def) < 0) {
|
||||
def.value = def.value.drop_side_effect_free(compressor);
|
||||
if (def.value) def.value.tail_node().write_only = false;
|
||||
var value = def.value.drop_side_effect_free(compressor);
|
||||
if (def.value !== value) def.value = value && make_sequence(def.value, [
|
||||
value,
|
||||
make_node(AST_Number, def.value, {
|
||||
value: 0
|
||||
}),
|
||||
]);
|
||||
}
|
||||
var old_def, var_defs = var_defs_by_id.get(sym.id);
|
||||
if (!def.value) {
|
||||
|
||||
@@ -2718,7 +2718,7 @@ issue_3962_1: {
|
||||
0..toString();
|
||||
} while (0);
|
||||
if (c) console.log("PASS");
|
||||
})((a--, 1));
|
||||
}((a--, 1)), 0);
|
||||
void 0;
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
@@ -2751,7 +2751,7 @@ issue_3962_2: {
|
||||
0..toString();
|
||||
} while (0);
|
||||
if (c) console.log("PASS");
|
||||
})((a--, 1));
|
||||
}((a--, 1)), 0);
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
@@ -2789,3 +2789,27 @@ issue_3986: {
|
||||
}
|
||||
expect_stdout: "0"
|
||||
}
|
||||
|
||||
issue_4017: {
|
||||
options = {
|
||||
pure_getters: "strict",
|
||||
reduce_vars: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
var a = 0;
|
||||
console.log(function f() {
|
||||
var b = c &= 0;
|
||||
var c = a++ + (A = a);
|
||||
var d = c && c[f];
|
||||
}());
|
||||
}
|
||||
expect: {
|
||||
var a = 0;
|
||||
console.log(function() {
|
||||
c &= 0;
|
||||
var c = (a++, A = a, 0);
|
||||
}());
|
||||
}
|
||||
expect_stdout: "undefined"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user