enable collapse_vars & reduce_vars by default
- fix corner cases in `const` optimisation - deprecate `/*@const*/` fixes #1497 closes #1498
This commit is contained in:
@@ -69,8 +69,8 @@ function Compressor(options, false_by_default) {
|
||||
hoist_vars : false,
|
||||
if_return : !false_by_default,
|
||||
join_vars : !false_by_default,
|
||||
collapse_vars : false,
|
||||
reduce_vars : false,
|
||||
collapse_vars : !false_by_default,
|
||||
reduce_vars : !false_by_default,
|
||||
cascade : !false_by_default,
|
||||
side_effects : !false_by_default,
|
||||
pure_getters : false,
|
||||
@@ -1252,7 +1252,7 @@ merge(Compressor.prototype, {
|
||||
this._evaluating = true;
|
||||
try {
|
||||
var d = this.definition();
|
||||
if ((d.constant || compressor.option("reduce_vars") && !d.modified) && d.init) {
|
||||
if (compressor.option("reduce_vars") && !d.modified && d.init) {
|
||||
if (compressor.option("unsafe")) {
|
||||
if (!HOP(d.init, '_evaluated')) {
|
||||
d.init._evaluated = ev(d.init, compressor);
|
||||
@@ -3025,9 +3025,11 @@ merge(Compressor.prototype, {
|
||||
return make_node(AST_Infinity, self).transform(compressor);
|
||||
}
|
||||
}
|
||||
if (compressor.option("evaluate") && !isLHS(self, compressor.parent())) {
|
||||
if (compressor.option("evaluate")
|
||||
&& compressor.option("reduce_vars")
|
||||
&& !isLHS(self, compressor.parent())) {
|
||||
var d = self.definition();
|
||||
if (d && d.constant && d.init && d.init.is_constant(compressor)) {
|
||||
if (d.constant && !d.modified && d.init && d.init.is_constant(compressor)) {
|
||||
var original_as_string = self.print_to_string();
|
||||
var const_node = make_node_from_constant(compressor, d.init.constant_value(compressor), self);
|
||||
var const_node_as_string = const_node.print_to_string();
|
||||
|
||||
Reference in New Issue
Block a user