@@ -762,10 +762,11 @@ merge(Compressor.prototype, {
|
|||||||
return arg || make_node(AST_Undefined, iife);
|
return arg || make_node(AST_Undefined, iife);
|
||||||
}, visit);
|
}, visit);
|
||||||
});
|
});
|
||||||
if (fn.rest) scan_declaration(tw, compressor, fn.rest, compressor.option("rests") && function() {
|
var rest = fn.rest;
|
||||||
return make_node(AST_Array, fn, {
|
if (rest) scan_declaration(tw, compressor, rest, compressor.option("rests") && function() {
|
||||||
|
return fn.rest === rest ? make_node(AST_Array, fn, {
|
||||||
elements: iife.args.slice(fn.argnames.length),
|
elements: iife.args.slice(fn.argnames.length),
|
||||||
});
|
}) : rest;
|
||||||
}, visit);
|
}, visit);
|
||||||
walk_lambda(fn, tw);
|
walk_lambda(fn, tw);
|
||||||
var safe_ids = tw.safe_ids;
|
var safe_ids = tw.safe_ids;
|
||||||
|
|||||||
@@ -1198,6 +1198,7 @@ function parse($TEXT, options) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
body = [];
|
body = [];
|
||||||
|
handle_regexp();
|
||||||
value = maybe_assign();
|
value = maybe_assign();
|
||||||
}
|
}
|
||||||
S.input.pop_directives_stack();
|
S.input.pop_directives_stack();
|
||||||
|
|||||||
@@ -694,3 +694,12 @@ issue_4476: {
|
|||||||
expect_stdout: "foo bar"
|
expect_stdout: "foo bar"
|
||||||
node_version: ">=4"
|
node_version: ">=4"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_4666: {
|
||||||
|
input: {
|
||||||
|
console.log((a => /[0-9]/.test(a))(42));
|
||||||
|
}
|
||||||
|
expect_exact: "console.log((a=>/[0-9]/.test(a))(42));"
|
||||||
|
expect_stdout: "true"
|
||||||
|
node_version: ">=4"
|
||||||
|
}
|
||||||
|
|||||||
@@ -757,3 +757,30 @@ issue_4644_2: {
|
|||||||
expect_stdout: "PASS 0 undefined"
|
expect_stdout: "PASS 0 undefined"
|
||||||
node_version: ">=6"
|
node_version: ">=6"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_4666: {
|
||||||
|
options = {
|
||||||
|
evaluate: true,
|
||||||
|
reduce_vars: true,
|
||||||
|
rests: true,
|
||||||
|
toplevel: true,
|
||||||
|
unsafe: true,
|
||||||
|
unused: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
var a = 0, b = 0;
|
||||||
|
var o = ((...c) => a++ + c)(b);
|
||||||
|
for (var k in o)
|
||||||
|
b++;
|
||||||
|
console.log(a, b);
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
var a = 0, b = 0;
|
||||||
|
var o = (c => +a + c)([ b ]);
|
||||||
|
for(var k in o)
|
||||||
|
b++;
|
||||||
|
console.log(1, b);
|
||||||
|
}
|
||||||
|
expect_stdout: "1 2"
|
||||||
|
node_version: ">=6"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user