stack now relfects self correctly
This commit is contained in:
parent
7d8bcc06a1
commit
bca9b4ea5b
|
|
@ -1688,7 +1688,7 @@ merge(Compressor.prototype, {
|
|||
|
||||
OPT(AST_LabeledStatement, function(self, compressor){
|
||||
if (self.body instanceof AST_Break
|
||||
&& compressor.loopcontrol_target(self.body.label) === compressor.self().body) {
|
||||
&& compressor.loopcontrol_target(self.body.label) === self.body) {
|
||||
return make_node(AST_EmptyStatement, self);
|
||||
}
|
||||
return self.label.references.length == 0 ? self.body : self;
|
||||
|
|
@ -2298,7 +2298,7 @@ merge(Compressor.prototype, {
|
|||
var first = self.body instanceof AST_BlockStatement ? self.body.body[0] : self.body;
|
||||
if (first instanceof AST_If) {
|
||||
if (first.body instanceof AST_Break
|
||||
&& compressor.loopcontrol_target(first.body.label) === compressor.self()) {
|
||||
&& compressor.loopcontrol_target(first.body.label) === self) {
|
||||
if (self.condition) {
|
||||
self.condition = make_node(AST_Binary, self.condition, {
|
||||
left: self.condition,
|
||||
|
|
@ -2311,7 +2311,7 @@ merge(Compressor.prototype, {
|
|||
drop_it(first.alternative);
|
||||
}
|
||||
else if (first.alternative instanceof AST_Break
|
||||
&& compressor.loopcontrol_target(first.alternative.label) === compressor.self()) {
|
||||
&& compressor.loopcontrol_target(first.alternative.label) === self) {
|
||||
if (self.condition) {
|
||||
self.condition = make_node(AST_Binary, self.condition, {
|
||||
left: self.condition,
|
||||
|
|
@ -2501,7 +2501,7 @@ merge(Compressor.prototype, {
|
|||
var last_branch = self.body[self.body.length - 1];
|
||||
if (last_branch) {
|
||||
var stat = last_branch.body[last_branch.body.length - 1]; // last statement
|
||||
if (stat instanceof AST_Break && loop_body(compressor.loopcontrol_target(stat.label)) === compressor.self())
|
||||
if (stat instanceof AST_Break && loop_body(compressor.loopcontrol_target(stat.label)) === self)
|
||||
last_branch.body.pop();
|
||||
if (last_branch instanceof AST_Default && last_branch.body.length == 0) {
|
||||
self.body.pop();
|
||||
|
|
@ -2549,7 +2549,7 @@ merge(Compressor.prototype, {
|
|||
in_block = save;
|
||||
return node;
|
||||
}
|
||||
else if (node instanceof AST_Break && this.loopcontrol_target(node.label) === compressor.self()) {
|
||||
else if (node instanceof AST_Break && this.loopcontrol_target(node.label) === self) {
|
||||
if (in_if) {
|
||||
ruined = true;
|
||||
return node;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user