@@ -4749,9 +4749,13 @@ merge(Compressor.prototype, {
|
||||
var def = ref.definition();
|
||||
var ldef = node.variables.get(ref.name);
|
||||
if (ldef && (ldef === def || def.undeclared || node.parent_scope.find_variable(ref) === def)) {
|
||||
references[def.id] = false;
|
||||
references[ldef.id] = false;
|
||||
} else {
|
||||
var save = segment;
|
||||
pop();
|
||||
mark(ref, true, false);
|
||||
segment = save;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
@@ -1490,10 +1490,10 @@ issue_4294: {
|
||||
expect: {
|
||||
A = "PASS";
|
||||
(function() {
|
||||
var a = function({
|
||||
[a]: {},
|
||||
var b = function({
|
||||
[b]: {},
|
||||
}) {}({
|
||||
[a]: 0,
|
||||
[b]: 0,
|
||||
});
|
||||
var b = A;
|
||||
console.log(b);
|
||||
@@ -1502,3 +1502,41 @@ issue_4294: {
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=6"
|
||||
}
|
||||
|
||||
issue_4298: {
|
||||
options = {
|
||||
merge_vars: true,
|
||||
}
|
||||
input: {
|
||||
(function() {
|
||||
var a = {
|
||||
object: "PASS",
|
||||
};
|
||||
function f({
|
||||
[typeof a]: b,
|
||||
}) {
|
||||
var a = b;
|
||||
return a;
|
||||
}
|
||||
var c = f(a);
|
||||
console.log(c);
|
||||
})();
|
||||
}
|
||||
expect: {
|
||||
(function() {
|
||||
var a = {
|
||||
object: "PASS",
|
||||
};
|
||||
function f({
|
||||
[typeof a]: b,
|
||||
}) {
|
||||
var a = b;
|
||||
return a;
|
||||
}
|
||||
var c = f(a);
|
||||
console.log(c);
|
||||
})();
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=6"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user