From be2dfaf081ce844a61851179e2cd7a5310089c9c Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Wed, 13 May 2015 09:11:09 +0100 Subject: [PATCH] register variable declarator in scope when pushing --- src/babel/traversal/path/index.js | 6 ++++-- src/babel/traversal/scope.js | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/babel/traversal/path/index.js b/src/babel/traversal/path/index.js index 418d2efe61..5c493e1c82 100644 --- a/src/babel/traversal/path/index.js +++ b/src/babel/traversal/path/index.js @@ -228,14 +228,16 @@ export default class TraversalPath { paths.push(TraversalPath.get(this, null, node, this.container, to)); } } + + return paths; } _containerInsertBefore(nodes) { - this._containerInsert(this.key, nodes); + return this._containerInsert(this.key, nodes); } _containerInsertAfter(nodes) { - this._containerInsert(this.key + 1, nodes); + return this._containerInsert(this.key + 1, nodes); } _maybePopFromStatements(nodes) { diff --git a/src/babel/traversal/scope.js b/src/babel/traversal/scope.js index 316f904010..138ebfd8b4 100644 --- a/src/babel/traversal/scope.js +++ b/src/babel/traversal/scope.js @@ -631,13 +631,14 @@ export default class Scope { var declar = !unique && path.getData(dataKey); if (!declar) { - declar = t.variableDeclaration(opts.kind || "var", []); + declar = t.variableDeclaration(kind, []); declar._generated = true; declar._blockHoist = 2; this.file.attachAuxiliaryComment(declar); - path.get("body")[0]._containerInsertBefore([declar]); + var [declarPath] = path.get("body")[0]._containerInsertBefore([declar]); + this.registerBinding(kind, declarPath); if (!unique) path.setData(dataKey, declar); }