fix corner case in dead_code (#4304)
This commit is contained in:
@@ -7027,7 +7027,8 @@ merge(Compressor.prototype, {
|
|||||||
OPT(AST_Try, function(self, compressor) {
|
OPT(AST_Try, function(self, compressor) {
|
||||||
self.body = tighten_body(self.body, compressor);
|
self.body = tighten_body(self.body, compressor);
|
||||||
if (compressor.option("dead_code")) {
|
if (compressor.option("dead_code")) {
|
||||||
if (has_declarations_only(self)) {
|
if (has_declarations_only(self)
|
||||||
|
&& !(self.bcatch && self.bcatch.argname && !can_drop_symbol(self.bcatch.argname))) {
|
||||||
var body = [];
|
var body = [];
|
||||||
if (self.bcatch) {
|
if (self.bcatch) {
|
||||||
extract_declarations_from_unreachable_code(compressor, self.bcatch, body);
|
extract_declarations_from_unreachable_code(compressor, self.bcatch, body);
|
||||||
|
|||||||
@@ -57,6 +57,23 @@ retain_block: {
|
|||||||
expect_stdout: true
|
expect_stdout: true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
retain_catch: {
|
||||||
|
options = {
|
||||||
|
dead_code: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
try {} catch (a) {
|
||||||
|
const a = "aa";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
try {} catch (a) {
|
||||||
|
const a = "aa";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
expect_stdout: true
|
||||||
|
}
|
||||||
|
|
||||||
if_dead_branch: {
|
if_dead_branch: {
|
||||||
options = {
|
options = {
|
||||||
conditionals: true,
|
conditionals: true,
|
||||||
|
|||||||
@@ -20,6 +20,26 @@ retain_block: {
|
|||||||
node_version: ">=4"
|
node_version: ">=4"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
retain_catch: {
|
||||||
|
options = {
|
||||||
|
dead_code: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
"use strict";
|
||||||
|
try {} catch (a) {
|
||||||
|
let a = "aa";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
"use strict";
|
||||||
|
try {} catch (a) {
|
||||||
|
let a = "aa";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
expect_stdout: true
|
||||||
|
node_version: ">=4"
|
||||||
|
}
|
||||||
|
|
||||||
if_dead_branch: {
|
if_dead_branch: {
|
||||||
options = {
|
options = {
|
||||||
conditionals: true,
|
conditionals: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user