preserve constant modification under strict mode (#2717)

This commit is contained in:
Alex Lam S.L
2018-01-04 15:53:53 +08:00
committed by GitHub
parent 9b58b54e2d
commit 7a6d452b54
2 changed files with 57 additions and 1 deletions

View File

@@ -3279,7 +3279,12 @@ merge(Compressor.prototype, {
});
def(AST_Assign, function(compressor){
var left = this.left;
if (left.has_side_effects(compressor)) return this;
if (left.has_side_effects(compressor)
|| compressor.has_directive("use strict")
&& left instanceof AST_PropAccess
&& left.expression.is_constant()) {
return this;
}
this.write_only = true;
while (left instanceof AST_PropAccess) {
left = left.expression;