diff options
author | Alex Lam S.L <alexlamsl@gmail.com> | 2018-04-25 04:46:07 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-25 04:46:07 +0800 |
commit | 9e87edfc2ef1ce0e517d5f2a5e2d30ed199d13c8 (patch) | |
tree | c01eb0b2ae8b1ff1ae14aabec40476aba16d04ea | |
parent | 27211cf2d58c1a28fad6d26e27d667d3ee6e0028 (diff) | |
download | tracifyjs-9e87edfc2ef1ce0e517d5f2a5e2d30ed199d13c8.tar.gz tracifyjs-9e87edfc2ef1ce0e517d5f2a5e2d30ed199d13c8.zip |
better fix for #2506 (#3099)
-rw-r--r-- | lib/compress.js | 9 | ||||
-rw-r--r-- | test/compress/collapse_vars.js | 4 |
2 files changed, 4 insertions, 9 deletions
diff --git a/lib/compress.js b/lib/compress.js index d82a1a43..06ed35f5 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -1031,19 +1031,14 @@ merge(Compressor.prototype, { return node; } var def = candidate.name.definition(); - var value = candidate.value; if (def.references.length - def.replaced == 1 && !compressor.exposed(def)) { def.replaced++; - if (funarg && is_identifier_atom(value)) { - return value.transform(compressor); - } else { - return maintain_this_binding(parent, node, value); - } + return maintain_this_binding(parent, node, candidate.value); } return make_node(AST_Assign, candidate, { operator: "=", left: make_node(AST_SymbolRef, candidate.name, candidate.name), - right: value + right: candidate.value }); } candidate.write_only = false; diff --git a/test/compress/collapse_vars.js b/test/compress/collapse_vars.js index 950ebd07..d1060563 100644 --- a/test/compress/collapse_vars.js +++ b/test/compress/collapse_vars.js @@ -3751,7 +3751,7 @@ issue_2506: { function f0(bar) { function f1(Infinity_2) { function f13(NaN) { - if (false <= NaN & this >> 1 >= 0) { + if (false <= NaN & f0 >> 1 >= 0) { c++; } } @@ -3767,7 +3767,7 @@ issue_2506: { function f0(bar) { (function(Infinity_2) { (function(NaN) { - if (false <= 0/0 & this >> 1 >= 0) + if (false <= 0/0 & f0 >> 1 >= 0) c++; })(0, c++); })(); |