@@ -108,7 +108,7 @@ function Compressor(options, false_by_default) {
|
|||||||
this.drop_fargs = keep_fargs == "strict" ? function(lambda, parent) {
|
this.drop_fargs = keep_fargs == "strict" ? function(lambda, parent) {
|
||||||
if (lambda.length_read) return false;
|
if (lambda.length_read) return false;
|
||||||
var name = lambda.name;
|
var name = lambda.name;
|
||||||
if (!name) return parent && parent.TYPE == "Call";
|
if (!name) return parent && parent.TYPE == "Call" && parent.expression === lambda;
|
||||||
if (name.fixed_value() !== lambda) return false;
|
if (name.fixed_value() !== lambda) return false;
|
||||||
var def = name.definition();
|
var def = name.definition();
|
||||||
if (def.direct_access) return false;
|
if (def.direct_access) return false;
|
||||||
|
|||||||
@@ -1117,3 +1117,41 @@ issue_3420_3: {
|
|||||||
}
|
}
|
||||||
expect_stdout: "4"
|
expect_stdout: "4"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_3423_1: {
|
||||||
|
options = {
|
||||||
|
keep_fargs: "strict",
|
||||||
|
unused: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
function f(g) {
|
||||||
|
console.log(g.length);
|
||||||
|
}
|
||||||
|
f(function(a) {});
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
function f(g) {
|
||||||
|
console.log(g.length);
|
||||||
|
}
|
||||||
|
f(function(a) {});
|
||||||
|
}
|
||||||
|
expect_stdout: "1"
|
||||||
|
}
|
||||||
|
|
||||||
|
issue_3423_2: {
|
||||||
|
options = {
|
||||||
|
keep_fargs: "strict",
|
||||||
|
unused: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
new function(a) {
|
||||||
|
console.log(this.constructor.length);
|
||||||
|
}();
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
new function(a) {
|
||||||
|
console.log(this.constructor.length);
|
||||||
|
}();
|
||||||
|
}
|
||||||
|
expect_stdout: "1"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user