add general support for declarations to Scope::rename - closes #751

This commit is contained in:
Sebastian McKenzie 2015-02-11 20:14:41 +11:00
parent 77fa8bf01c
commit bf8f80faf7

View File

@ -159,6 +159,11 @@ Scope.prototype.rename = function (oldName, newName) {
enter: function (node, parent, scope) {
if (t.isReferencedIdentifier(node, parent) && node.name === oldName) {
node.name = newName;
} else if (t.isDeclaration(node)) {
var ids = t.getBindingIdentifiers(node);
for (var name in ids) {
if (name === oldName) ids[name].name = newName;
}
} else if (t.isScope(node, parent)) {
if (!scope.bindingIdentifierEquals(oldName, binding)) {
this.skip();