gate various label-related transformations (#3812)

This commit is contained in:
Alex Lam S.L
2020-04-22 22:27:26 +01:00
committed by GitHub
parent 01b13d797c
commit 3ae24329eb
4 changed files with 17 additions and 2 deletions

View File

@@ -3962,11 +3962,12 @@ merge(Compressor.prototype, {
}); });
OPT(AST_LabeledStatement, function(self, compressor) { OPT(AST_LabeledStatement, function(self, compressor) {
if (self.body instanceof AST_Break if (compressor.option("dead_code")
&& self.body instanceof AST_Break
&& compressor.loopcontrol_target(self.body) === self.body) { && compressor.loopcontrol_target(self.body) === self.body) {
return make_node(AST_EmptyStatement, self); return make_node(AST_EmptyStatement, self);
} }
return self.label.references.length == 0 ? self.body : self; return compressor.option("unused") && self.label.references.length == 0 ? self.body : self;
}); });
OPT(AST_Block, function(self, compressor) { OPT(AST_Block, function(self, compressor) {

View File

@@ -3,6 +3,7 @@ labels_1: {
conditionals: true, conditionals: true,
dead_code: true, dead_code: true,
if_return: true, if_return: true,
unused: true,
} }
input: { input: {
out: { out: {
@@ -21,6 +22,7 @@ labels_2: {
conditionals: true, conditionals: true,
dead_code: true, dead_code: true,
if_return: true, if_return: true,
unused: true,
} }
input: { input: {
out: { out: {
@@ -61,6 +63,7 @@ labels_4: {
conditionals: true, conditionals: true,
dead_code: true, dead_code: true,
if_return: true, if_return: true,
unused: true,
} }
input: { input: {
out: for (var i = 0; i < 5; ++i) { out: for (var i = 0; i < 5; ++i) {
@@ -105,6 +108,9 @@ labels_5: {
} }
labels_6: { labels_6: {
options = {
dead_code: true,
}
input: { input: {
out: break out; out: break out;
}; };
@@ -159,6 +165,7 @@ labels_9: {
conditionals: true, conditionals: true,
dead_code: true, dead_code: true,
if_return: true, if_return: true,
unused: true,
} }
input: { input: {
out: while (foo) { out: while (foo) {

View File

@@ -549,6 +549,7 @@ issue_2740_2: {
dead_code: true, dead_code: true,
loops: true, loops: true,
passes: 2, passes: 2,
unused: true,
} }
input: { input: {
L1: while (x()) { L1: while (x()) {
@@ -564,6 +565,7 @@ issue_2740_3: {
options = { options = {
dead_code: true, dead_code: true,
loops: true, loops: true,
unused: true,
} }
input: { input: {
L1: for (var x = 0; x < 3; x++) { L1: for (var x = 0; x < 3; x++) {
@@ -589,6 +591,7 @@ issue_2740_4: {
dead_code: true, dead_code: true,
loops: true, loops: true,
passes: 2, passes: 2,
unused: true,
} }
input: { input: {
L1: for (var x = 0; x < 3; x++) { L1: for (var x = 0; x < 3; x++) {
@@ -613,6 +616,7 @@ issue_2740_5: {
dead_code: true, dead_code: true,
loops: true, loops: true,
passes: 2, passes: 2,
unused: true,
} }
input: { input: {
L1: for (var x = 0; x < 3; x++) { L1: for (var x = 0; x < 3; x++) {
@@ -763,6 +767,7 @@ issue_3631_1: {
loops: true, loops: true,
reduce_vars: true, reduce_vars: true,
toplevel: true, toplevel: true,
unused: true,
} }
input: { input: {
var c = 0; var c = 0;
@@ -789,6 +794,7 @@ issue_3631_2: {
loops: true, loops: true,
reduce_vars: true, reduce_vars: true,
toplevel: true, toplevel: true,
unused: true,
} }
input: { input: {
L: for (var a = 1; a--; console.log(b)) { L: for (var a = 1; a--; console.log(b)) {

View File

@@ -69,6 +69,7 @@ label_if_break: {
dead_code: true, dead_code: true,
evaluate: true, evaluate: true,
side_effects: true, side_effects: true,
unused: true,
} }
input: { input: {
L: if (true) { L: if (true) {