Merge branch 'master' into single-pass

This commit is contained in:
Sebastian McKenzie
2015-05-08 00:24:33 +01:00
6 changed files with 15 additions and 11 deletions

View File

@@ -181,9 +181,11 @@ class TailCallTransformer {
var declarations = flatten(map(this.vars, function (decl) {
return decl.declarations;
}));
var assignment = reduceRight(declarations, function (expr, decl) {
return t.assignmentExpression("=", decl.id, expr);
}, t.identifier("undefined"));
var statement = t.expressionStatement(assignment);
statement._blockHoist = Infinity;
body.unshift(statement);
@@ -191,7 +193,9 @@ class TailCallTransformer {
var paramDecls = this.paramDecls;
if (paramDecls.length > 0) {
body.unshift(t.variableDeclaration("var", paramDecls));
var paramDecl = t.variableDeclaration("var", paramDecls);
paramDecl._blockHoist = Infinity;
body.unshift(paramDecl);
}
body.unshift(t.expressionStatement(