simplify and optimize local binding handling

This commit is contained in:
Ondrej Kraus 2015-02-25 03:33:36 +01:00
parent 81ae656358
commit 8ca854156a

View File

@ -5,13 +5,13 @@ exports.check = t.isRestElement;
var memberExpressionVisitor = {
enter: function (node, parent, scope, state) {
var localDeclar = scope.getBindingIdentifier(state.name);
if (localDeclar !== state.outerDeclar) return;
if (t.isScope(node, parent) && !scope.bindingIdentifierEquals(state.name, state.outerDeclar)) {
return this.skip();
}
if (t.isFunctionDeclaration(node) || t.isFunctionExpression(node)) {
state.isOptimizable = false;
this.skip();
return;
return this.skip();
}
if (!t.isReferencedIdentifier(node, parent, { name: state.name })) return;