From ad44190c6b6f6805ed02db7065660f6a41446bcd Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Thu, 14 May 2015 23:53:04 +0100 Subject: [PATCH] properly register for head variable declaration paths when performing scope tracking - fixes #1524 --- src/babel/traversal/scope/index.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/babel/traversal/scope/index.js b/src/babel/traversal/scope/index.js index 6e586b6ec1..ed33dd375a 100644 --- a/src/babel/traversal/scope/index.js +++ b/src/babel/traversal/scope/index.js @@ -463,6 +463,14 @@ export default class Scope { registerBinding(kind: string, path: TraversalPath) { if (!kind) throw new ReferenceError("no `kind`"); + if (path.isVariableDeclaration()) { + var declarators = path.get("declarations"); + for (var declar of (declarators: Array)) { + this.registerBinding(kind, declar); + } + return; + } + var ids = path.getBindingIdentifiers(); for (var name in ids) {