From: kzc Date: Fri, 3 Mar 2017 18:39:54 +0000 (-0500) Subject: disallow collapse_vars constant replacement in for-in statements (#1543) X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=ce54c9cceef68b78be7cc429988df26add904d9b;p=UglifyJS.git disallow collapse_vars constant replacement in for-in statements (#1543) --- diff --git a/lib/compress.js b/lib/compress.js index 2cd79128..35459006 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -525,11 +525,9 @@ merge(Compressor.prototype, { // Constant single use vars can be replaced in any scope. if (var_decl.value.is_constant()) { var ctt = new TreeTransformer(function(node) { - if (node === ref) { - var parent = ctt.parent(); - if (!(parent instanceof AST_ForIn && parent.init === node)) { - return replace_var(node, parent, true); - } + if (node === ref + && !ctt.find_parent(AST_ForIn)) { + return replace_var(node, ctt.parent(), true); } }); stat.transform(ctt);