Skip to content

Commit

Permalink
fix corner case in keep_fargs
Browse files Browse the repository at this point in the history
fixes #3423
  • Loading branch information
alexlamsl committed May 21, 2019
1 parent d357a7a commit 9fe7e63
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/compress.js
Expand Up @@ -108,7 +108,7 @@ function Compressor(options, false_by_default) {
this.drop_fargs = keep_fargs == "strict" ? function(lambda, parent) {
if (lambda.length_read) return false;
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;
var def = name.definition();
if (def.direct_access) return false;
Expand Down
38 changes: 38 additions & 0 deletions test/compress/keep_fargs.js
Expand Up @@ -1117,3 +1117,41 @@ issue_3420_3: {
}
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"
}

0 comments on commit 9fe7e63

Please sign in to comment.