fix corner case in yields (#5750)

fixes #5749
This commit is contained in:
Alex Lam S.L
2022-11-30 23:18:04 +02:00
committed by GitHub
parent 548f0938e8
commit 574ca47666
2 changed files with 97 additions and 5 deletions

View File

@@ -8901,12 +8901,11 @@ Compressor.prototype.compress = function(node) {
exprs = trim(exprs, compressor, first_in_statement, array_spread);
return exprs && make_sequence(self, exprs.map(convert_spread));
}
if (compressor.option("yields") && is_generator(exp)) {
if (compressor.option("yields") && is_generator(exp) && fn_name_unused(exp, compressor)) {
var call = self.clone();
call.expression = make_node(AST_Function, exp);
call.expression.body = [];
var opt = call.transform(compressor);
if (opt !== call) return opt.drop_side_effect_free(compressor, first_in_statement);
return call;
}
var dropped = drop_returns(compressor, exp);
if (dropped) {