diff options
author | Mihai Bazon <mihai@bazon.net> | 2012-11-08 12:31:28 +0200 |
---|---|---|
committer | Mihai Bazon <mihai@bazon.net> | 2012-11-08 12:31:28 +0200 |
commit | e312c5c2a7d68de3da3bb7e8c9044e3183fe49d6 (patch) | |
tree | ec241aa15fa98db4a8563edb5c0c858fd46049c8 | |
parent | 1a5fd3e05294a74900c6265f364f233e3f05eba0 (diff) | |
download | tracifyjs-e312c5c2a7d68de3da3bb7e8c9044e3183fe49d6.tar.gz tracifyjs-e312c5c2a7d68de3da3bb7e8c9044e3183fe49d6.zip |
fix API breakage
close #36, #38
-rw-r--r-- | lib/scope.js | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/scope.js b/lib/scope.js index f8a1cb8b..dc637cc5 100644 --- a/lib/scope.js +++ b/lib/scope.js @@ -59,7 +59,7 @@ SymbolDef.prototype = { unmangleable: function(options) { return this.global || this.undeclared - || (!options.eval && (this.scope.uses_eval || this.scope.uses_with)); + || (!(options && options.eval) && (this.scope.uses_eval || this.scope.uses_with)); }, mangle: function(options) { if (!this.mangled_name && !this.unmangleable(options)) @@ -347,11 +347,15 @@ AST_Symbol.DEFMETHOD("global", function(){ return this.definition().global; }); -AST_Toplevel.DEFMETHOD("mangle_names", function(options){ - options = defaults(options, { +AST_Toplevel.DEFMETHOD("_default_mangler_options", function(options){ + return defaults(options, { except : [], eval : false, }); +}); + +AST_Toplevel.DEFMETHOD("mangle_names", function(options){ + options = this._default_mangler_options(options); // We only need to mangle declaration nodes. Special logic wired // into the code generator will display the mangled name if it's // present (and for AST_SymbolRef-s it'll use the mangled name of @@ -387,6 +391,7 @@ AST_Toplevel.DEFMETHOD("mangle_names", function(options){ }); AST_Toplevel.DEFMETHOD("compute_char_frequency", function(options){ + options = this._default_mangler_options(options); var tw = new TreeWalker(function(node){ if (node instanceof AST_Constant) base54.consider(node.print_to_string()); |