There were three separate problems here:
1. The visitor called `trackVars` at the wrong time for `AssignmentExpression` and `VariableDeclarator` nodes, which prevented JSDoc from setting the `funcscope` property correctly.
2. The `funcscope` property was being added to `VariableDeclarator` nodes. It should only be added to `AssignmentExpression` nodes.
3. We were trying to resolve the variable name `____` in `AssignmentExpression` nodes. This is a special value we add to the source code so that the `lends` tag will work, and it should never be resolved against the enclosing scope.
The previous, buggy behavior looked reasonable in most cases, but it didn't work for closures that contain multiple `lends` tags.
consumes ASTs that follow the Mozilla Parser API spec:
https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
passes all tests on OS X; performance is comparable to previous
version. also includes some miscellaneous cleanup.
remaining issues:
- only Rhino AST builder is supported
- node visitors (old and new) may not be hooked up yet
- circular-reference issues in doclets
- docs are (mostly) missing
- various other TODO comments
The second half of the first phase of the testing framework upgrade. This finishes moving the exisintg tests to jasmine and the new test directory structure