disallow collapse_vars constant replacement in for-in statements (#1543)

This commit is contained in:
kzc
2017-03-03 13:39:54 -05:00
committed by Alex Lam S.L
parent 07accd2fbb
commit ce54c9ccee

View File

@@ -525,11 +525,9 @@ merge(Compressor.prototype, {
// Constant single use vars can be replaced in any scope. // Constant single use vars can be replaced in any scope.
if (var_decl.value.is_constant()) { if (var_decl.value.is_constant()) {
var ctt = new TreeTransformer(function(node) { var ctt = new TreeTransformer(function(node) {
if (node === ref) { if (node === ref
var parent = ctt.parent(); && !ctt.find_parent(AST_ForIn)) {
if (!(parent instanceof AST_ForIn && parent.init === node)) { return replace_var(node, ctt.parent(), true);
return replace_var(node, parent, true);
}
} }
}); });
stat.transform(ctt); stat.transform(ctt);