parent
78f354beb8
commit
1d42e9ad55
|
|
@ -3416,13 +3416,17 @@ Compressor.prototype.compress = function(node) {
|
||||||
if (def.references.length - def.replaced == referenced) return true;
|
if (def.references.length - def.replaced == referenced) return true;
|
||||||
if (!def.fixed) return false;
|
if (!def.fixed) return false;
|
||||||
if (!lhs.fixed) return false;
|
if (!lhs.fixed) return false;
|
||||||
|
var assigns = lhs.fixed.assigns;
|
||||||
var matched = 0;
|
var matched = 0;
|
||||||
if (!all(def.references, function(ref, index) {
|
if (!all(def.references, function(ref, index) {
|
||||||
var fixed = ref.fixed;
|
var fixed = ref.fixed;
|
||||||
if (!fixed) return false;
|
if (!fixed) return false;
|
||||||
if (fixed.to_binary || fixed.to_prefix) return false;
|
if (fixed.to_binary || fixed.to_prefix) return false;
|
||||||
if (fixed === lhs.fixed) matched++;
|
if (fixed === lhs.fixed) {
|
||||||
|
matched++;
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
return assigns && fixed.assigns && assigns[0] !== fixed.assigns[0];
|
||||||
})) return false;
|
})) return false;
|
||||||
if (matched != referenced) return false;
|
if (matched != referenced) return false;
|
||||||
verify_ref = true;
|
verify_ref = true;
|
||||||
|
|
|
||||||
|
|
@ -10098,3 +10098,26 @@ issue_5638_4: {
|
||||||
}
|
}
|
||||||
expect_stdout: "foo 42"
|
expect_stdout: "foo 42"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_5643: {
|
||||||
|
options = {
|
||||||
|
collapse_vars: true,
|
||||||
|
reduce_vars: true,
|
||||||
|
toplevel: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
var a = 3, b;
|
||||||
|
a *= 7;
|
||||||
|
b = !!this;
|
||||||
|
console || console.log(b);
|
||||||
|
console.log(a * ++b);
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
var a = 3, b;
|
||||||
|
a *= 7;
|
||||||
|
b = !!this;
|
||||||
|
console || console.log(b);
|
||||||
|
console.log(a * ++b);
|
||||||
|
}
|
||||||
|
expect_stdout: "42"
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user