@@ -9347,7 +9347,7 @@ Compressor.prototype.compress = function(node) {
|
||||
return !same_scope(def) || may_overlap(compressor, def);
|
||||
}
|
||||
}, true)) {
|
||||
self.init = to_var(self.init);
|
||||
self.init = to_var(self.init, self.resolve());
|
||||
}
|
||||
}
|
||||
return self;
|
||||
@@ -10161,14 +10161,13 @@ Compressor.prototype.compress = function(node) {
|
||||
}
|
||||
}
|
||||
|
||||
function to_var(stat) {
|
||||
function to_var(stat, scope) {
|
||||
return make_node(AST_Var, stat, {
|
||||
definitions: stat.definitions.map(function(defn) {
|
||||
return make_node(AST_VarDef, defn, {
|
||||
name: defn.name.convert_symbol(AST_SymbolVar, function(name, node) {
|
||||
var def = name.definition();
|
||||
def.orig[def.orig.indexOf(node)] = name;
|
||||
var scope = def.scope.resolve();
|
||||
if (def.scope === scope) return;
|
||||
def.scope = scope;
|
||||
scope.variables.set(def.name, def);
|
||||
@@ -10194,7 +10193,7 @@ Compressor.prototype.compress = function(node) {
|
||||
return !defn.name.match_symbol(function(node) {
|
||||
if (node instanceof AST_SymbolDeclaration) return !can_varify(compressor, node);
|
||||
}, true);
|
||||
}) ? to_var(self) : self;
|
||||
}) ? to_var(self, compressor.find_parent(AST_Scope)) : self;
|
||||
}
|
||||
|
||||
OPT(AST_Const, varify);
|
||||
|
||||
Reference in New Issue
Block a user