fallthrough = !aborts(exact_match);
}
while (i < len) extract_declarations_from_unreachable_code(compressor, self.body[i++], decl);
- if (body.length == 0) return make_node(AST_BlockStatement, self, {
- body: decl
- }).optimize(compressor);
- body[0].body = decl.concat(body[0].body);
+ if (body.length > 0) {
+ body[0].body = decl.concat(body[0].body);
+ }
self.body = body;
}
while (branch = self.body[self.body.length - 1]) {
&& branch.expression.has_side_effects(compressor)) break;
self.body.pop();
}
- if (compressor.option("conditionals") && self.body.length == 0) {
- return make_node(AST_SimpleStatement, self, {
- body: self.expression
+ if (decl && self.body.length == 0) {
+ return make_node(AST_BlockStatement, self, {
+ body: decl.concat(make_node(AST_SimpleStatement, self.expression, {
+ body: self.expression
+ }))
}).optimize(compressor);
}
if (body && body.length == 1 && (body[0] === exact_match || body[0] === default_branch)) {
}
expect_stdout: true
}
+
+issue_1690_1: {
+ options = {
+ dead_code: true,
+ }
+ input: {
+ switch (console.log("PASS")) {}
+ }
+ expect: {
+ console.log("PASS");
+ }
+ expect_stdout: "PASS"
+}
+
+issue_1690_2: {
+ options = {
+ dead_code: false,
+ }
+ input: {
+ switch (console.log("PASS")) {}
+ }
+ expect: {
+ switch (console.log("PASS")) {}
+ }
+ expect_stdout: "PASS"
+}