aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/compress.js2
-rw-r--r--test/compress/issue-611.js21
2 files changed, 22 insertions, 1 deletions
diff --git a/lib/compress.js b/lib/compress.js
index 1f1d4b50..72e4d92d 100644
--- a/lib/compress.js
+++ b/lib/compress.js
@@ -1937,7 +1937,7 @@ merge(Compressor.prototype, {
if (self.cdr instanceof AST_UnaryPrefix
&& self.cdr.operator == "void"
&& !self.cdr.expression.has_side_effects(compressor)) {
- self.cdr.operator = self.car;
+ self.cdr.expression = self.car;
return self.cdr;
}
if (self.cdr instanceof AST_Undefined) {
diff --git a/test/compress/issue-611.js b/test/compress/issue-611.js
new file mode 100644
index 00000000..6f2c65d2
--- /dev/null
+++ b/test/compress/issue-611.js
@@ -0,0 +1,21 @@
+issue_611: {
+ options = {
+ sequences: true,
+ side_effects: true
+ };
+ input: {
+ define(function() {
+ function fn() {}
+ if (fn()) {
+ fn();
+ return void 0;
+ }
+ });
+ }
+ expect: {
+ define(function() {
+ function fn(){}
+ if (fn()) return void fn();
+ });
+ }
+}