@@ -4609,12 +4609,13 @@ merge(Compressor.prototype, {
|
|||||||
var len = fn.argnames.length;
|
var len = fn.argnames.length;
|
||||||
if (len > 0 && compressor.option("inline") < 2) break;
|
if (len > 0 && compressor.option("inline") < 2) break;
|
||||||
if (len > self.argnames.length) break;
|
if (len > self.argnames.length) break;
|
||||||
|
if (!all(self.argnames, function(argname) {
|
||||||
|
return argname instanceof AST_SymbolFunarg;
|
||||||
|
})) break;
|
||||||
for (var j = 0; j < len; j++) {
|
for (var j = 0; j < len; j++) {
|
||||||
var arg = call.args[j];
|
var arg = call.args[j];
|
||||||
if (!(arg instanceof AST_SymbolRef)) break;
|
if (!(arg instanceof AST_SymbolRef)) break;
|
||||||
var argname = self.argnames[j];
|
if (arg.definition() !== self.argnames[j].definition()) break;
|
||||||
if (!(argname instanceof AST_SymbolFunarg)) break;
|
|
||||||
if (arg.definition() !== argname.definition()) break;
|
|
||||||
}
|
}
|
||||||
if (j < len) break;
|
if (j < len) break;
|
||||||
for (; j < call.args.length; j++) {
|
for (; j < call.args.length; j++) {
|
||||||
|
|||||||
@@ -1710,3 +1710,34 @@ issue_4319: {
|
|||||||
expect_stdout: "undefined"
|
expect_stdout: "undefined"
|
||||||
node_version: ">=6"
|
node_version: ">=6"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_4321: {
|
||||||
|
options = {
|
||||||
|
inline: true,
|
||||||
|
keep_fargs: "strict",
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
try {
|
||||||
|
console.log(function({}) {
|
||||||
|
return function() {
|
||||||
|
while (!console);
|
||||||
|
}();
|
||||||
|
}());
|
||||||
|
} catch (e) {
|
||||||
|
console.log("PASS");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
try {
|
||||||
|
console.log(function({}) {
|
||||||
|
return function() {
|
||||||
|
while (!console);
|
||||||
|
}();
|
||||||
|
}());
|
||||||
|
} catch (e) {
|
||||||
|
console.log("PASS");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
node_version: ">=6"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user