Rename clean_getters to pure_getters; add pure_funcs.
This commit is contained in:
@@ -66,7 +66,8 @@ function Compressor(options, false_by_default) {
|
||||
join_vars : !false_by_default,
|
||||
cascade : !false_by_default,
|
||||
side_effects : !false_by_default,
|
||||
clean_getters : false,
|
||||
pure_getters : false,
|
||||
pure_funcs : null,
|
||||
negate_iife : !false_by_default,
|
||||
screw_ie8 : false,
|
||||
|
||||
@@ -809,6 +810,12 @@ merge(Compressor.prototype, {
|
||||
def(AST_Constant, function(compressor){ return false });
|
||||
def(AST_This, function(compressor){ return false });
|
||||
|
||||
def(AST_Call, function(compressor){
|
||||
var pure = compressor.option("pure_funcs");
|
||||
if (!pure) return true;
|
||||
return pure.indexOf(this.expression.print_to_string()) < 0;
|
||||
});
|
||||
|
||||
def(AST_Block, function(compressor){
|
||||
for (var i = this.body.length; --i >= 0;) {
|
||||
if (this.body[i].has_side_effects(compressor))
|
||||
@@ -855,16 +862,16 @@ merge(Compressor.prototype, {
|
||||
return false;
|
||||
});
|
||||
def(AST_Dot, function(compressor){
|
||||
if (!compressor.option("clean_getters")) return true;
|
||||
if (!compressor.option("pure_getters")) return true;
|
||||
return this.expression.has_side_effects(compressor);
|
||||
});
|
||||
def(AST_Sub, function(compressor){
|
||||
if (!compressor.option("clean_getters")) return true;
|
||||
if (!compressor.option("pure_getters")) return true;
|
||||
return this.expression.has_side_effects(compressor)
|
||||
|| this.property.has_side_effects(compressor);
|
||||
});
|
||||
def(AST_PropAccess, function(compressor){
|
||||
return !compressor.option("clean_getters");
|
||||
return !compressor.option("pure_getters");
|
||||
});
|
||||
def(AST_Seq, function(compressor){
|
||||
return this.car.has_side_effects(compressor)
|
||||
|
||||
Reference in New Issue
Block a user