diff options
-rw-r--r-- | lib/compress.js | 4 | ||||
-rw-r--r-- | test/compress/issue-22.js | 17 |
2 files changed, 19 insertions, 2 deletions
diff --git a/lib/compress.js b/lib/compress.js index 22fb330e..2ea91d0c 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -1220,8 +1220,8 @@ merge(Compressor.prototype, { return make_node(self.body.CTOR, self, { value: make_node(AST_Conditional, self, { condition : self.condition, - consequent : self.body.value, - alternative : self.alternative.value || make_node(AST_Undefined, self).optimize(compressor) + consequent : self.body.value || make_node(AST_Undefined, self.body).optimize(compressor), + alternative : self.alternative.value || make_node(AST_Undefined, self.alternative).optimize(compressor) }) }).transform(compressor); } diff --git a/test/compress/issue-22.js b/test/compress/issue-22.js new file mode 100644 index 00000000..a8b7bc60 --- /dev/null +++ b/test/compress/issue-22.js @@ -0,0 +1,17 @@ +return_with_no_value_in_if_body: { + options = { conditionals: true }; + input: { + function foo(bar) { + if (bar) { + return; + } else { + return 1; + } + } + } + expect: { + function foo (bar) { + return bar ? void 0 : 1; + } + } +} |