This commit is contained in:
Mihai Bazon
2012-09-28 11:12:47 +03:00
parent 05e15b1c0c
commit 896444482a
2 changed files with 12 additions and 2 deletions

View File

@@ -698,9 +698,9 @@ function TreeWalker(callback) {
TreeWalker.prototype = {
_visit: function(node, descend) {
this.stack.push(node);
var ret = this.visit(node, function(){
var ret = this.visit(node, descend ? function(){
descend.call(node);
});
} : noop);
if (!ret && descend) {
descend.call(node);
}

View File

@@ -209,6 +209,7 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(){
node.thedef = sym;
}
node.reference();
return true;
}
});
self.walk(tw);
@@ -225,6 +226,10 @@ AST_Scope.DEFMETHOD("init_scope_vars", function(){
this.cname = -1; // the current index for mangling functions/variables
});
AST_Scope.DEFMETHOD("strict", function(){
return this.has_directive("use strict");
});
AST_Lambda.DEFMETHOD("init_scope_vars", function(){
AST_Scope.prototype.init_scope_vars.call(this);
this.uses_arguments = false;
@@ -298,6 +303,11 @@ AST_Scope.DEFMETHOD("next_mangled", function(){
}
});
AST_Scope.DEFMETHOD("references", function(sym){
if (sym instanceof AST_Symbol) sym = sym.definition();
return this.enclosed.indexOf(sym) < 0 ? null : sym;
});
AST_Symbol.DEFMETHOD("unmangleable", function(){
return this.definition().unmangleable();
});