suppress unsafe_proto for LHS expressions (#2804)
This commit is contained in:
@@ -5644,6 +5644,7 @@ merge(Compressor.prototype, {
|
|||||||
if (def) {
|
if (def) {
|
||||||
return def.optimize(compressor);
|
return def.optimize(compressor);
|
||||||
}
|
}
|
||||||
|
if (is_lhs(self, compressor.parent())) return self;
|
||||||
if (compressor.option("unsafe_proto")
|
if (compressor.option("unsafe_proto")
|
||||||
&& self.expression instanceof AST_Dot
|
&& self.expression instanceof AST_Dot
|
||||||
&& self.expression.property == "prototype") {
|
&& self.expression.property == "prototype") {
|
||||||
@@ -5682,7 +5683,6 @@ merge(Compressor.prototype, {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (is_lhs(self, compressor.parent())) return self;
|
|
||||||
var sub = self.flatten_object(self.property, compressor);
|
var sub = self.flatten_object(self.property, compressor);
|
||||||
if (sub) return sub.optimize(compressor);
|
if (sub) return sub.optimize(compressor);
|
||||||
var ev = self.evaluate(compressor);
|
var ev = self.evaluate(compressor);
|
||||||
|
|||||||
@@ -583,6 +583,25 @@ native_prototype: {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
native_prototype_lhs: {
|
||||||
|
options = {
|
||||||
|
unsafe_proto: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
console.log(function() {
|
||||||
|
Function.prototype.bar = "PASS";
|
||||||
|
return function() {};
|
||||||
|
}().bar);
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
console.log(function() {
|
||||||
|
Function.prototype.bar = "PASS";
|
||||||
|
return function() {};
|
||||||
|
}().bar);
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
}
|
||||||
|
|
||||||
accessor_boolean: {
|
accessor_boolean: {
|
||||||
input: {
|
input: {
|
||||||
var a = 1;
|
var a = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user