diff --git a/src/babel/traversal/scope.js b/src/babel/traversal/scope.js index fe91f03e5d..316f904010 100644 --- a/src/babel/traversal/scope.js +++ b/src/babel/traversal/scope.js @@ -54,13 +54,18 @@ var programReferenceVisitor = explode({ } }, - ExportDeclaration(node, parent, scope, state) { - var declar = node.declaration; - if (t.isClassDeclaration(declar) || t.isFunctionDeclaration(declar)) { - scope.getBinding(declar.id.name).reference(); - } else if (t.isVariableDeclaration(declar)) { - for (var decl of (declar.declarations: Array)) { - scope.getBinding(decl.id.name).reference(); + ExportDeclaration: { + exit(node, parent, scope, state) { + var declar = node.declaration; + if (t.isClassDeclaration(declar) || t.isFunctionDeclaration(declar)) { + scope.getBinding(declar.id.name).reference(); + } else if (t.isVariableDeclaration(declar)) { + for (var decl of (declar.declarations: Array)) { + var ids = t.getBindingIdentifiers(decl); + for (var name in ids) { + scope.getBinding(name).reference(); + } + } } } },