fix corner case in collapse_vars (#5748)

fixes #5747
This commit is contained in:
Alex Lam S.L
2022-11-30 21:59:22 +02:00
committed by GitHub
parent 2352909c3d
commit 548f0938e8
3 changed files with 70 additions and 8 deletions

View File

@@ -2474,8 +2474,10 @@ Compressor.prototype.compress = function(node) {
if (node instanceof AST_Scope) return node;
// Scan computed keys, static fields & initializers in class
if (node instanceof AST_Class) {
if (node.name) node.name = node.name.transform(tt);
if (!abort && node.extends) node.extends = node.extends.transform(tt);
var replace = can_replace;
can_replace = false;
if (node.name) node.name.transform(tt);
if (!abort && node.extends) node.extends.transform(tt);
var fields = [], stats = [];
for (var i = 0; !abort && i < node.properties.length; i++) {
var prop = node.properties[i];
@@ -2491,9 +2493,9 @@ Compressor.prototype.compress = function(node) {
stats[i].transform(tt);
}
for (var i = 0; !abort && i < fields.length; i++) {
var prop = fields[i];
prop.value = prop.value.transform(tt);
fields[i].value.transform(tt);
}
can_replace = replace;
return node;
}
// Scan object only in a for-in/of statement