diff options
author | Alex Lam S.L <alexlamsl@gmail.com> | 2020-12-29 11:43:12 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-29 19:43:12 +0800 |
commit | 560ccc1221639dca9db354ad6830e418a9f0073d (patch) | |
tree | 08ba152beaba140cc50a8bcc306bf1907f47e9c2 | |
parent | 10a71c182bc4b992c91863fe0eb50a1afdae8a6f (diff) | |
download | tracifyjs-560ccc1221639dca9db354ad6830e418a9f0073d.tar.gz tracifyjs-560ccc1221639dca9db354ad6830e418a9f0073d.zip |
enhance `reduce_vars` (#4479)
-rw-r--r-- | lib/compress.js | 3 | ||||
-rw-r--r-- | test/compress/let.js | 22 |
2 files changed, 23 insertions, 2 deletions
diff --git a/lib/compress.js b/lib/compress.js index 0369b63d..591ad4dd 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -771,8 +771,7 @@ merge(Compressor.prototype, { } var d = sym.definition(); d.assignments++; - if (!is_modified(compressor, tw, node, node.right, 0) - && can_drop_symbol(sym) && safe_to_assign(tw, d)) { + if (!is_modified(compressor, tw, node, node.right, 0) && safe_to_assign(tw, d)) { push_ref(d, sym); mark(tw, d); if (d.single_use && left instanceof AST_Destructured) d.single_use = false; diff --git a/test/compress/let.js b/test/compress/let.js index 59b89023..f52dcb50 100644 --- a/test/compress/let.js +++ b/test/compress/let.js @@ -359,6 +359,28 @@ reduce_block_2_toplevel: { node_version: ">=4" } +reduce_vars: { + options = { + evaluate: true, + reduce_vars: true, + toplevel: true, + unused: true, + } + input: { + "use strict"; + let a = "PASS"; + console.log(a); + a = "FAIL"; + } + expect: { + "use strict"; + console.log("PASS"); + "FAIL"; + } + expect_stdout: "PASS" + node_version: ">=4" +} + hoist_props: { options = { hoist_props: true, |