aboutsummaryrefslogtreecommitdiff
path: root/lib/compress.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compress.js')
-rw-r--r--lib/compress.js16
1 files changed, 6 insertions, 10 deletions
diff --git a/lib/compress.js b/lib/compress.js
index 2ba2982e..ee28ee14 100644
--- a/lib/compress.js
+++ b/lib/compress.js
@@ -1813,8 +1813,14 @@ merge(Compressor.prototype, {
extract_declarations_from_unreachable_code(compressor, self.body, a);
return make_node(AST_BlockStatement, self, { body: a });
}
+ } else {
+ // self instanceof AST_Do
+ return self.body;
}
}
+ if (self instanceof AST_While) {
+ return make_node(AST_For, self, self).transform(compressor);
+ }
return self;
});
@@ -1863,16 +1869,6 @@ merge(Compressor.prototype, {
}
};
- OPT(AST_While, function(self, compressor) {
- if (!compressor.option("loops")) return self;
- self = AST_DWLoop.prototype.optimize.call(self, compressor);
- if (self instanceof AST_While) {
- if_break_in_loop(self, compressor);
- self = make_node(AST_For, self, self).transform(compressor);
- }
- return self;
- });
-
OPT(AST_For, function(self, compressor){
var cond = self.condition;
if (cond) {