google/traceur-compiler — pull request #1342 by rodyhaddad (2014-09-13 21:15:18+00:00)
Title: Block Binding: use orignal name where possible

To accomplish that, the `BlockBindingTransformer` keeps track of a `usedVars_` object, indicating which variables are used in the function so far. The object is initialized with all the bindings in the scope.

I also introduced a `Scope.renameBinding` function, that renames a binding to a new tree and a newType when needed. I use it to keep scope's data correct, mainly for `FindBlockBindingInLoop`, and also to avoid a duplicateVarDeclaration error

Closes #1274