aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/compress.js10
-rw-r--r--test/compress/destructured.js14
2 files changed, 15 insertions, 9 deletions
diff --git a/lib/compress.js b/lib/compress.js
index dcb2cc4c..b1389253 100644
--- a/lib/compress.js
+++ b/lib/compress.js
@@ -8073,15 +8073,7 @@ merge(Compressor.prototype, {
}
if (argname instanceof AST_Destructured) {
has_destructured = true;
- var abort = false;
- argname.walk(new TreeWalker(function(node) {
- if (abort) return true;
- if (node instanceof AST_DestructuredKeyVal) {
- var key = node.key;
- if (key instanceof AST_Node && has_arg_refs(key)) return abort = true;
- }
- }));
- if (abort) return false;
+ if (has_arg_refs(argname)) return false;
}
return true;
});
diff --git a/test/compress/destructured.js b/test/compress/destructured.js
index a476705d..4f6a9f2f 100644
--- a/test/compress/destructured.js
+++ b/test/compress/destructured.js
@@ -2384,3 +2384,17 @@ issue_4508: {
]
node_version: ">=6"
}
+
+issue_4512: {
+ options = {
+ side_effects: true,
+ }
+ input: {
+ console.log(function([ a, b = a ]) {}([]));
+ }
+ expect: {
+ console.log(function([ a, b = a ]) {}([]));
+ }
+ expect_stdout: "undefined"
+ node_version: ">=6"
+}