var jsp = require("./parse-js"), pro = require("./process"), slice = jsp.slice, member = jsp.member, PRECEDENCE = jsp.PRECEDENCE, OPERATORS = jsp.OPERATORS; function ast_squeeze_more(ast) { var w = pro.ast_walker(), walk = w.walk; return w.with_walkers({ "call": function(expr, args) { if (expr[0] == "dot" && expr[2] == "toString" && args.length == 0) { // foo.toString() ==> foo+"" return [ "binary", "+", expr[1], [ "string", "" ]]; } } }, function() { return walk(ast); }); }; exports.ast_squeeze_more = ast_squeeze_more;