Remove await* from babel-generator, add parsing error to babylon - (fixes T6688)

This commit is contained in:
Henry Zhu
2015-12-19 22:47:56 -05:00
parent b79ff75c31
commit 276c98f7f0
7 changed files with 13 additions and 11 deletions

View File

@@ -118,7 +118,7 @@ function buildYieldAwait(keyword: string) {
return function (node: Object) {
this.push(keyword);
if (node.delegate || node.all) {
if (node.delegate) {
this.push("*");
}

View File

@@ -1,7 +1,3 @@
async function foo() {
await bar();
}
async function bar() {
await* foo();
}

View File

@@ -1,7 +1,3 @@
async function foo() {
await bar();
}
async function bar() {
await* foo();
}

View File

@@ -247,7 +247,7 @@ let awaitVisitor = {
},
AwaitExpression: function(path) {
// Convert await and await* expressions to yield expressions.
// Convert await expressions to yield expressions.
let argument = path.node.argument;
// Transforming `await x` to `yield regeneratorRuntime.awrap(x)`

View File

@@ -968,7 +968,10 @@ pp.parseAwait = function (node) {
if (this.isLineTerminator()) {
this.unexpected();
}
node.all = this.eat(tt.star);
node.all = false;
if (this.match(tt.star)) {
this.raise(node.start, "await* has been removed from the async functions proposal. Use Promise.all() instead.")
}
node.argument = this.parseMaybeUnary();
return this.finishNode(node, "AwaitExpression");
};

View File

@@ -0,0 +1,3 @@
async function bar() {
await* foo();
}

View File

@@ -0,0 +1,4 @@
{
"plugins": ["asyncFunctions"],
"throws": "await* has been removed from the async functions proposal. Use Promise.all() instead. (2:2)"
}