added option for side-effect-free statements, fix test
This commit is contained in:
@@ -64,6 +64,7 @@ function Compressor(options, false_by_default) {
|
||||
if_return : !false_by_default,
|
||||
join_vars : !false_by_default,
|
||||
cascade : !false_by_default,
|
||||
side_effects : !false_by_default,
|
||||
|
||||
warnings : true,
|
||||
global_defs : {}
|
||||
@@ -998,9 +999,11 @@ merge(Compressor.prototype, {
|
||||
});
|
||||
|
||||
OPT(AST_SimpleStatement, function(self, compressor){
|
||||
if (!self.body.has_side_effects()) {
|
||||
compressor.warn("Dropping side-effect-free statement [{file}:{line},{col}]", self.start);
|
||||
return make_node(AST_EmptyStatement, self);
|
||||
if (compressor.option("side_effects")) {
|
||||
if (!self.body.has_side_effects()) {
|
||||
compressor.warn("Dropping side-effect-free statement [{file}:{line},{col}]", self.start);
|
||||
return make_node(AST_EmptyStatement, self);
|
||||
}
|
||||
}
|
||||
return self;
|
||||
});
|
||||
@@ -1153,7 +1156,7 @@ merge(Compressor.prototype, {
|
||||
operator: "&&",
|
||||
left: self.condition,
|
||||
right: self.body.condition
|
||||
});
|
||||
}).transform(compressor);
|
||||
self.body = self.body.body;
|
||||
}
|
||||
if (aborts(self.body)) {
|
||||
|
||||
Reference in New Issue
Block a user