Only special-case for..on/of declaration hoisting - fixes #1929

This commit is contained in:
Logan Smyth 2015-07-06 20:52:58 -07:00
parent 337c51df5c
commit b518394a3f
3 changed files with 6 additions and 3 deletions

View File

@ -33,8 +33,7 @@ var hoistVariablesVisitor = {
} }
// for (var i in test) // for (var i in test)
// for (var i = 0;;) if (t.isFor(parent) && parent.left === node) {
if (t.isFor(parent) && (parent.left === node || parent.init === node)) {
return node.declarations[0].id; return node.declarations[0].id;
} }

View File

@ -8,6 +8,8 @@ export var p = 5;
for (var a in b) ; for (var a in b) ;
for (var i = 0, j = 0;;) ;
export var isOdd = (function (isEven) { export var isOdd = (function (isEven) {
return function (n) { return function (n) {
return !isEven(n); return !isEven(n);

View File

@ -1,7 +1,7 @@
System.register(["./evens"], function (_export) { System.register(["./evens"], function (_export) {
"use strict"; "use strict";
var isEven, p, a, isOdd; var isEven, p, a, i, j, isOdd;
_export("nextOdd", nextOdd); _export("nextOdd", nextOdd);
@ -20,6 +20,8 @@ System.register(["./evens"], function (_export) {
for (a in b); for (a in b);
for (i = 0, j = 0;;);
isOdd = (function (isEven) { isOdd = (function (isEven) {
return function (n) { return function (n) {
return !isEven(n); return !isEven(n);