From 99456c6156f8a05734a82be97348ace72aa1ee2a Mon Sep 17 00:00:00 2001 From: Mihai Bazon Date: Tue, 21 Aug 2012 11:38:49 +0300 Subject: more fixes: - added walker for AST_ObjectProperty - handle redefinitions properly (only mangle one symbol, make them all point to a single definition) DynarchLIB seems to run fine after mangling + compressed output. --- lib/ast.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lib/ast.js') diff --git a/lib/ast.js b/lib/ast.js index ac5010bb..89a8237b 100644 --- a/lib/ast.js +++ b/lib/ast.js @@ -136,7 +136,7 @@ var AST_ForIn = DEFNODE("ForIn", "init name object", { _walk: function(visitor) { return visitor._visit(this, function(){ if (this.init) this.init._walk(visitor); - if (this.name) this.name._walk(visitor); + else if (this.name) this.name._walk(visitor); if (this.object) this.object._walk(visitor); this.body._walk(visitor); }); @@ -461,7 +461,13 @@ var AST_Object = DEFNODE("Object", "properties", { } }); -var AST_ObjectProperty = DEFNODE("ObjectProperty", "key value"); +var AST_ObjectProperty = DEFNODE("ObjectProperty", "key value", { + _walk: function(visitor) { + return visitor._visit(this, function(){ + this.value._walk(visitor); + }); + } +}); var AST_ObjectKeyVal = DEFNODE("ObjectKeyval", null, { }, AST_ObjectProperty); -- cgit v1.2.3