Disallow await inside async arrow params (#10469)

* Disallow await inside async arrow params

* Use -1 as default for awaitPos/yieldPos
This commit is contained in:
Nicolò Ribaudo
2019-10-02 07:37:40 +02:00
committed by GitHub
parent fa5057f9fb
commit a219b6de7a
11 changed files with 526 additions and 41 deletions

View File

@@ -159,15 +159,15 @@ export default class UtilParser extends Tokenizer {
checkYieldAwaitInDefaultParams() {
if (
this.state.yieldPos &&
(!this.state.awaitPos || this.state.yieldPos < this.state.awaitPos)
this.state.yieldPos !== -1 &&
(this.state.awaitPos === -1 || this.state.yieldPos < this.state.awaitPos)
) {
this.raise(
this.state.yieldPos,
"Yield cannot be used as name inside a generator function",
);
}
if (this.state.awaitPos) {
if (this.state.awaitPos !== -1) {
this.raise(
this.state.awaitPos,
"Await cannot be used as name inside an async function",