fix corner case in join_vars (#5832)

fixes #5831
This commit is contained in:
Alex Lam S.L
2024-06-08 20:15:50 +03:00
committed by GitHub
parent 2cb6454b1f
commit 3dfb379486
2 changed files with 28 additions and 3 deletions

View File

@@ -4265,8 +4265,17 @@ Compressor.prototype.compress = function(node) {
prop = +prop;
var len = value.elements.length;
if (prop > len + 4) return;
while (len < prop) value.elements[len++] = make_node(AST_Hole, value);
value.elements[prop] = node.right;
if (prop < len) {
var element = value.elements[prop];
if (element instanceof AST_Hole) {
value.elements[prop] = node.right;
} else {
value.elements[prop] = make_sequence(node, [ element, node.right ]).optimize(compressor);
}
} else {
while (prop > len) value.elements[len++] = make_node(AST_Hole, value);
value.elements[prop] = node.right;
}
return true;
}