Sebastian McKenzie 2fb6c7820c microoptimizations
2014-12-15 13:59:54 +11:00

25 lines
588 B
JavaScript

var t = require("../../types");
exports.BlockStatement =
exports.Program = function (node) {
var kinds = {};
for (var i in node._declarations) {
var declar = node._declarations[i];
var kind = declar.kind || "var";
var declarNode = t.variableDeclarator(declar.id, declar.init);
if (!declar.init) {
kinds[kind] = kinds[kind] || [];
kinds[kind].push(declarNode);
} else {
node.body.unshift(t.variableDeclaration(kind, [declarNode]));
}
}
for (var kind in kinds) {
node.body.unshift(t.variableDeclaration(kind, kinds[kind]));
}
};