mozilla/amo-validator — pull request #134 by mattbasta (2012-03-15 04:20:23+00:00)
Title: Updates to avoid recursion cap; bug 735473

To "fix" the issue, I've tweaked a few things:

* One-off functions in the traverser were inlined into the _traverse_node function (namely _interpret_block)
* Unnecessary JSWrapper re-wrappings were eliminated
* BinaryExpression nodes now evaluate their left branch directly if they detect that it contains another BinaryExpression (since this happens quite often)
* The _debug function is replaced with `lambda x: None` when not in debug mode to prevent any overhead from that.