@@ -181,6 +181,13 @@ merge(Compressor.prototype, {
|
|||||||
var reduce_vars = rescan && compressor.option("reduce_vars");
|
var reduce_vars = rescan && compressor.option("reduce_vars");
|
||||||
var safe_ids = [];
|
var safe_ids = [];
|
||||||
push();
|
push();
|
||||||
|
var suppressor = new TreeWalker(function(node) {
|
||||||
|
if (node instanceof AST_Symbol) {
|
||||||
|
var d = node.definition();
|
||||||
|
if (node instanceof AST_SymbolRef) d.references.push(node);
|
||||||
|
d.fixed = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
var tw = new TreeWalker(function(node){
|
var tw = new TreeWalker(function(node){
|
||||||
if (!(node instanceof AST_Directive || node instanceof AST_Constant)) {
|
if (!(node instanceof AST_Directive || node instanceof AST_Constant)) {
|
||||||
node._squeezed = false;
|
node._squeezed = false;
|
||||||
@@ -243,13 +250,7 @@ merge(Compressor.prototype, {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (node instanceof AST_ForIn) {
|
if (node instanceof AST_ForIn) {
|
||||||
var sym = node.init;
|
node.init.walk(suppressor);
|
||||||
if (sym instanceof AST_Var) {
|
|
||||||
sym = sym.definitions[0].name;
|
|
||||||
}
|
|
||||||
var d = sym.definition();
|
|
||||||
d.references.push(sym);
|
|
||||||
d.fixed = false;
|
|
||||||
node.object.walk(tw);
|
node.object.walk(tw);
|
||||||
push();
|
push();
|
||||||
node.body.walk(tw);
|
node.body.walk(tw);
|
||||||
|
|||||||
Reference in New Issue
Block a user