don't hoist regenerator variable declarations in system module formatter

This commit is contained in:
Sebastian McKenzie 2015-01-23 23:46:43 +11:00
parent b280303a10
commit 33cd9eeafd
2 changed files with 11 additions and 7 deletions

View File

@ -111,16 +111,20 @@ var hoistVariablesVisitor = {
return; return;
} }
// ignore block hoisted nodes as these can be left in
if (node._blockHoist) return;
var nodes = []; var nodes = [];
_.each(node.declarations, function (declar) { for (var i = 0; i < node.declarations.length; i++) {
var declar = node.declarations[i];
hoistDeclarators.push(t.variableDeclarator(declar.id)); hoistDeclarators.push(t.variableDeclarator(declar.id));
if (declar.init) { if (declar.init) {
// no initializer so we can just hoist it as-is // no initializer so we can just hoist it as-is
var assign = t.expressionStatement(t.assignmentExpression("=", declar.id, declar.init)); var assign = t.expressionStatement(t.assignmentExpression("=", declar.id, declar.init));
nodes.push(assign); nodes.push(assign);
} }
}); }
// for (var i in test) // for (var i in test)
// for (var i = 0;;) // for (var i = 0;;)

View File

@ -1,8 +1,7 @@
System.register([], function (_export) { System.register([], function (_export) {
"use strict"; "use strict";
var generator; var generator = regeneratorRuntime.mark(function generator() {
_export("generator", generator = regeneratorRuntime.mark(function generator() {
return regeneratorRuntime.wrap(function generator$(context$1$0) { return regeneratorRuntime.wrap(function generator$(context$1$0) {
while (1) switch (context$1$0.prev = context$1$0.next) { while (1) switch (context$1$0.prev = context$1$0.next) {
case 0: case 0:
@ -13,11 +12,12 @@ System.register([], function (_export) {
return context$1$0.stop(); return context$1$0.stop();
} }
}, generator, this); }, generator, this);
})); });
_export("generator", generator);
return { return {
setters: [], setters: [],
execute: function () { execute: function () {}
}
}; };
}); });