drop assignments to constant expressions only (#2839)

fixes #2838
This commit is contained in:
Alex Lam S.L
2018-01-23 02:49:54 +08:00
committed by GitHub
parent 5e2cd07d6f
commit ec4202590d
2 changed files with 31 additions and 2 deletions

View File

@@ -3469,8 +3469,10 @@ merge(Compressor.prototype, {
while (left instanceof AST_PropAccess) {
left = left.expression;
}
if (left instanceof AST_Symbol) return this;
return this.right.drop_side_effect_free(compressor);
if (left.is_constant_expression(compressor.find_parent(AST_Scope))) {
return this.right.drop_side_effect_free(compressor);
}
return this;
});
def(AST_Conditional, function(compressor){
var consequent = this.consequent.drop_side_effect_free(compressor);