fix corner case in unused (#4147)

fixes #4146
This commit is contained in:
Alex Lam S.L
2020-09-22 13:08:45 +01:00
committed by GitHub
parent 6d4c0fa6fa
commit 3472cf1a90
3 changed files with 32 additions and 6 deletions

View File

@@ -36,7 +36,7 @@ jobs:
npm config set update-notifier false
npm --version
while !(npm install); do echo "'npm install' failed - retrying..."; done
PERIOD=-2000
PERIOD=-5000
if [[ $CAUSE == "schedule" ]]; then
PERIOD=`node test/ufuzz/actions $BASE_URL $TOKEN`
fi

View File

@@ -6474,17 +6474,16 @@ merge(Compressor.prototype, {
side_effects.push(node);
args[pos++] = make_sequence(call, side_effects);
side_effects = [];
} else if (!trim && fn.argnames[i].__unused) {
} else if (!trim) {
if (side_effects.length) {
node = make_sequence(call, side_effects);
args[pos++] = make_sequence(call, side_effects);
side_effects = [];
} else {
node = make_node(AST_Number, args[i], {
args[pos++] = make_node(AST_Number, args[i], {
value: 0
});
continue;
}
args[pos++] = node;
continue;
}
} else {
side_effects.push(args[i]);

View File

@@ -2965,3 +2965,30 @@ issue_4144: {
}
expect_stdout: "PASS"
}
issue_4146: {
options = {
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
function f(a, b) {
function g() {}
var a = g;
var c = b;
c.p;
console.log(typeof a);
}
f("FAIL", 42);
}
expect: {
(function(a, b) {
a = function () {};
var c = b;
c.p;
console.log(typeof a);
})(0, 42);
}
expect_stdout: "function"
}