var len = fn.argnames.length;
if (len > 0 && compressor.option("inline") < 2) 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++) {
var arg = call.args[j];
if (!(arg instanceof AST_SymbolRef)) break;
- var argname = self.argnames[j];
- if (!(argname instanceof AST_SymbolFunarg)) break;
- if (arg.definition() !== argname.definition()) break;
+ if (arg.definition() !== self.argnames[j].definition()) break;
}
if (j < len) break;
for (; j < call.args.length; j++) {
expect_stdout: "undefined"
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"
+}