fix export scope tracking reference counter - fixes #1513

This commit is contained in:
Sebastian McKenzie 2015-05-12 23:21:08 +01:00
parent 735d8955bf
commit ef2ac73215

View File

@ -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();
}
}
}
}
},