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;
}
// ignore block hoisted nodes as these can be left in
if (node._blockHoist) return;
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));
if (declar.init) {
// no initializer so we can just hoist it as-is
var assign = t.expressionStatement(t.assignmentExpression("=", declar.id, declar.init));
nodes.push(assign);
}
});
}
// for (var i in test)
// for (var i = 0;;)

View File

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