fixed babel/babel#4632 - missing parentheses around yield expression … (#4633)

* fixed babel/babel#4632 - missing parentheses around yield expression in conditional test

* babel/babel#4632 - added test
This commit is contained in:
Bruno Jouhier 2016-10-01 18:58:59 +02:00 committed by Henry Zhu
parent 16716ea3de
commit f9ccee9d83
3 changed files with 5 additions and 3 deletions

View File

@ -142,7 +142,9 @@ export function YieldExpression(node: Object, parent: Object): boolean {
t.isUnaryLike(parent) ||
t.isCallExpression(parent) ||
t.isMemberExpression(parent) ||
t.isNewExpression(parent);
t.isNewExpression(parent) ||
(t.isConditionalExpression(parent) && node === parent.test);
}
export { YieldExpression as AwaitExpression };

View File

@ -2,7 +2,7 @@ function* asdf() {
(yield 1) || (yield 2);
(yield b)();
new (yield b)();
true ? (yield 1) : (yield 2);
(yield 1) ? (yield 2) : (yield 3);
yield (yield 1);
}

View File

@ -2,7 +2,7 @@ function* asdf() {
(yield 1) || (yield 2);
(yield b)();
new (yield b)();
true ? yield 1 : yield 2;
(yield 1) ? yield 2 : yield 3;
yield yield 1;
}