@@ -9071,10 +9071,13 @@ merge(Compressor.prototype, {
|
|||||||
right: value,
|
right: value,
|
||||||
});
|
});
|
||||||
a.push(assign);
|
a.push(assign);
|
||||||
name.fixed = function() {
|
var fixed = function() {
|
||||||
return assign.right;
|
return assign.right;
|
||||||
};
|
};
|
||||||
name.fixed.assigns = [ assign ];
|
fixed.assigns = [ assign ];
|
||||||
|
fixed.direct_access = def.direct_access;
|
||||||
|
fixed.escaped = def.escaped;
|
||||||
|
name.fixed = fixed;
|
||||||
def.references.forEach(function(ref) {
|
def.references.forEach(function(ref) {
|
||||||
var assigns = ref.fixed && ref.fixed.assigns;
|
var assigns = ref.fixed && ref.fixed.assigns;
|
||||||
if (assigns && assigns[0] === defn) assigns[0] = assign;
|
if (assigns && assigns[0] === defn) assigns[0] = assign;
|
||||||
|
|||||||
@@ -418,3 +418,32 @@ issue_4898: {
|
|||||||
}
|
}
|
||||||
expect_stdout: "PASS"
|
expect_stdout: "PASS"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_5187: {
|
||||||
|
options = {
|
||||||
|
hoist_props: true,
|
||||||
|
hoist_vars: true,
|
||||||
|
reduce_vars: true,
|
||||||
|
side_effects: true,
|
||||||
|
toplevel: true,
|
||||||
|
unused: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
function f() {
|
||||||
|
var a = 42;
|
||||||
|
do {
|
||||||
|
var b = { 0: a++ };
|
||||||
|
} while (console.log(b[b ^= 0]));
|
||||||
|
}
|
||||||
|
f();
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
(function() {
|
||||||
|
var b, a = 42;
|
||||||
|
do {
|
||||||
|
b = { 0: a++ };
|
||||||
|
} while (console.log(b[b ^= 0]));
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect_stdout: "42"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user