diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5445c7f919e..53c5e3d8833 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5765,6 +5765,7 @@ namespace ts { if (node.parserContextFlags & ParserContextFlags.Await) { getNodeLinks(container).flags |= NodeCheckFlags.CaptureArguments; + getNodeLinks(node).flags |= NodeCheckFlags.LexicalArguments; } } diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index d537380dc5d..a5271b27c2c 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -49,11 +49,10 @@ var __param = (this && this.__param) || function (paramIndex, decorator) { };`; const awaiterHelper = ` -var __awaiter = (this && this.__awaiter) || function (args, generator) { - var PromiseConstructor = args[1] || Promise; - return new PromiseConstructor(function (resolve, reject) { - generator = generator.call(args[0], args[2]); - function cast(value) { return value instanceof PromiseConstructor ? value : new PromiseConstructor(function (resolve) { resolve(value); }); } +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promise, generator) { + return new Promise(function (resolve, reject) { + generator = generator.call(thisArg, _arguments); + function cast(value) { return value instanceof Promise && value.constructor === Promise ? value : new Promise(function (resolve) { resolve(value); }); } function onfulfill(value) { try { step("next", value); } catch (e) { reject(e); } } function onreject(value) { try { step("throw", value); } catch (e) { reject(e); } } function step(verb, value) { @@ -1239,6 +1238,11 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) { } function emitExpressionIdentifier(node: Identifier) { + if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.LexicalArguments) { + write("_arguments"); + return; + } + let container = resolver.getReferencedExportContainer(node); if (container) { if (container.kind === SyntaxKind.SourceFile) { @@ -3374,9 +3378,9 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) { // let a = async (b) => { await b; } // // // output - // let a = (b) => __awaiter([this], function* (b) { + // let a = (b) => __awaiter(this, void 0, void 0, function* () { // yield b; - // }, this); + // }); // // The emit for an async arrow with a lexical `arguments` binding might be: // @@ -3384,7 +3388,7 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) { // let a = async (b) => { await arguments[0]; } // // // output - // let a = (b) => __awaiter([this, arguments], function* (arguments) { + // let a = (b) => __awaiter(this, arguments, void 0, function* (arguments) { // yield arguments[0]; // }); // @@ -3398,9 +3402,9 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) { // // // output // let a = function (b) { - // return __awaiter([this], function* () { + // return __awaiter(this, void 0, void 0, function* () { // yield b; - // }, this); + // }); // } // // The emit for an async function expression with a lexical `arguments` binding @@ -3413,8 +3417,8 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) { // // // output // let a = function (b) { - // return __awaiter([this, arguments], function* (arguments) { - // yield arguments[0]; + // return __awaiter(this, arguments, void 0, function* (_arguments) { + // yield _arguments[0]; // }); // } // @@ -3428,8 +3432,8 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) { // // // output // let a = function (b) { - // return __awaiter([this, arguments, MyPromise], function* (arguments) { - // yield arguments[0]; + // return __awaiter(this, arguments, MyPromise, function* (_arguments) { + // yield _arguments[0]; // }); // } // @@ -3443,23 +3447,28 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) { write("return"); } - write(" __awaiter([this"); - if (promiseConstructor || hasLexicalArguments) { + write(" __awaiter(this"); + if (hasLexicalArguments) { + write(", arguments"); + } + else { + write(", void 0"); + } + + if (promiseConstructor) { write(", "); - if (promiseConstructor) { - emitNodeWithoutSourceMap(promiseConstructor); - } - if (hasLexicalArguments) { - write(", arguments"); - } + emitNodeWithoutSourceMap(promiseConstructor); + } + else { + write(", Promise"); } // Emit the call to __awaiter. if (hasLexicalArguments) { - write("], function* (arguments)"); + write(", function* (_arguments)"); } else { - write("], function* ()"); + write(", function* ()"); } // Emit the signature and body for the inner generator function. diff --git a/src/compiler/types.ts b/src/compiler/types.ts index db2eafe4e53..e55cccc0ccc 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1595,12 +1595,13 @@ namespace ts { SuperInstance = 0x00000100, // Instance 'super' reference SuperStatic = 0x00000200, // Static 'super' reference ContextChecked = 0x00000400, // Contextual types have been assigned - CaptureArguments = 0x00000800, // Lexical 'arguments' used in body (for async functions) + LexicalArguments = 0x00000800, + CaptureArguments = 0x00001000, // Lexical 'arguments' used in body (for async functions) // Values for enum members have been computed, and any errors have been reported for them. - EnumValuesComputed = 0x00001000, - BlockScopedBindingInLoop = 0x00002000, - LexicalModuleMergesWithClass= 0x00004000, // Instantiated lexical module declaration is merged with a previous class declaration. + EnumValuesComputed = 0x00002000, + BlockScopedBindingInLoop = 0x00004000, + LexicalModuleMergesWithClass= 0x00008000, // Instantiated lexical module declaration is merged with a previous class declaration. } /* @internal */ diff --git a/tests/baselines/reference/asyncArrowFunction1_es6.js b/tests/baselines/reference/asyncArrowFunction1_es6.js index 2c2f1091b15..4f03acc5ced 100644 --- a/tests/baselines/reference/asyncArrowFunction1_es6.js +++ b/tests/baselines/reference/asyncArrowFunction1_es6.js @@ -4,5 +4,5 @@ var foo = async (): Promise => { }; //// [asyncArrowFunction1_es6.js] -var foo = () => __awaiter([this, Promise], function* () { +var foo = () => __awaiter(this, void 0, Promise, function* () { }); diff --git a/tests/baselines/reference/asyncArrowFunction6_es6.js b/tests/baselines/reference/asyncArrowFunction6_es6.js index 0a39441edf7..54b8aa1f6b1 100644 --- a/tests/baselines/reference/asyncArrowFunction6_es6.js +++ b/tests/baselines/reference/asyncArrowFunction6_es6.js @@ -4,5 +4,5 @@ var foo = async (a = await): Promise => { } //// [asyncArrowFunction6_es6.js] -var foo = (a = yield ) => __awaiter([this, Promise], function* () { +var foo = (a = yield ) => __awaiter(this, void 0, Promise, function* () { }); diff --git a/tests/baselines/reference/asyncArrowFunction7_es6.js b/tests/baselines/reference/asyncArrowFunction7_es6.js index bb17963bfd3..ac68a8fd2f8 100644 --- a/tests/baselines/reference/asyncArrowFunction7_es6.js +++ b/tests/baselines/reference/asyncArrowFunction7_es6.js @@ -7,8 +7,8 @@ var bar = async (): Promise => { } //// [asyncArrowFunction7_es6.js] -var bar = () => __awaiter([this, Promise], function* () { +var bar = () => __awaiter(this, void 0, Promise, function* () { // 'await' here is an identifier, and not an await expression. - var foo = (a = yield ) => __awaiter([this, Promise], function* () { + var foo = (a = yield ) => __awaiter(this, void 0, Promise, function* () { }); }); diff --git a/tests/baselines/reference/asyncArrowFunction8_es6.js b/tests/baselines/reference/asyncArrowFunction8_es6.js index 2ec23259510..9cee5ee1525 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es6.js +++ b/tests/baselines/reference/asyncArrowFunction8_es6.js @@ -5,6 +5,6 @@ var foo = async (): Promise => { } //// [asyncArrowFunction8_es6.js] -var foo = () => __awaiter([this, Promise], function* () { +var foo = () => __awaiter(this, void 0, Promise, function* () { var v = { [yield ]: foo }; }); diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.js b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.js index 8cac736ea1b..c24259cf0b5 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.js +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.js @@ -11,6 +11,6 @@ class C { class C { method() { function other() { } - var fn = () => __awaiter([this, , arguments], function* (arguments) { return yield other.apply(this, arguments); }); + var fn = () => __awaiter(this, arguments, Promise, function* (_arguments) { return yield other.apply(this, _arguments); }); } } diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesThis_es6.js b/tests/baselines/reference/asyncArrowFunctionCapturesThis_es6.js index b13815ffcbf..0f09e366ef3 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesThis_es6.js +++ b/tests/baselines/reference/asyncArrowFunctionCapturesThis_es6.js @@ -9,6 +9,6 @@ class C { //// [asyncArrowFunctionCapturesThis_es6.js] class C { method() { - var fn = () => __awaiter([this], function* () { return yield this; }); + var fn = () => __awaiter(this, void 0, Promise, function* () { return yield this; }); } } diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es6.js b/tests/baselines/reference/asyncAwaitIsolatedModules_es6.js index 7fb55df0eae..7007c66ae28 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es6.js +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es6.js @@ -40,11 +40,10 @@ module M { } //// [asyncAwaitIsolatedModules_es6.js] -var __awaiter = (this && this.__awaiter) || function (args, generator) { - var PromiseConstructor = args[1] || Promise; - return new PromiseConstructor(function (resolve, reject) { - generator = generator.call(args[0], args[2]); - function cast(value) { return value instanceof PromiseConstructor ? value : new PromiseConstructor(function (resolve) { resolve(value); }); } +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promise, generator) { + return new Promise(function (resolve, reject) { + generator = generator.call(thisArg, _arguments); + function cast(value) { return value instanceof Promise && value.constructor === Promise ? value : new Promise(function (resolve) { resolve(value); }); } function onfulfill(value) { try { step("next", value); } catch (e) { reject(e); } } function onreject(value) { try { step("throw", value); } catch (e) { reject(e); } } function step(verb, value) { @@ -55,65 +54,65 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) { }); }; function f0() { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } function f1() { - return __awaiter([this, Promise], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } function f3() { - return __awaiter([this, MyPromise], function* () { }); + return __awaiter(this, void 0, MyPromise, function* () { }); } let f4 = function () { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); }; let f5 = function () { - return __awaiter([this, Promise], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); }; let f6 = function () { - return __awaiter([this, MyPromise], function* () { }); + return __awaiter(this, void 0, MyPromise, function* () { }); }; -let f7 = () => __awaiter([this], function* () { }); -let f8 = () => __awaiter([this, Promise], function* () { }); -let f9 = () => __awaiter([this, MyPromise], function* () { }); -let f10 = () => __awaiter([this], function* () { return p; }); -let f11 = () => __awaiter([this], function* () { return mp; }); -let f12 = () => __awaiter([this, Promise], function* () { return mp; }); -let f13 = () => __awaiter([this, MyPromise], function* () { return p; }); +let f7 = () => __awaiter(this, void 0, Promise, function* () { }); +let f8 = () => __awaiter(this, void 0, Promise, function* () { }); +let f9 = () => __awaiter(this, void 0, MyPromise, function* () { }); +let f10 = () => __awaiter(this, void 0, Promise, function* () { return p; }); +let f11 = () => __awaiter(this, void 0, Promise, function* () { return mp; }); +let f12 = () => __awaiter(this, void 0, Promise, function* () { return mp; }); +let f13 = () => __awaiter(this, void 0, MyPromise, function* () { return p; }); let o = { m1() { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); }, m2() { - return __awaiter([this, Promise], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); }, m3() { - return __awaiter([this, MyPromise], function* () { }); + return __awaiter(this, void 0, MyPromise, function* () { }); } }; class C { m1() { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } m2() { - return __awaiter([this, Promise], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } m3() { - return __awaiter([this, MyPromise], function* () { }); + return __awaiter(this, void 0, MyPromise, function* () { }); } static m4() { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } static m5() { - return __awaiter([this, Promise], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } static m6() { - return __awaiter([this, MyPromise], function* () { }); + return __awaiter(this, void 0, MyPromise, function* () { }); } } var M; (function (M) { function f1() { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } M.f1 = f1; })(M || (M = {})); diff --git a/tests/baselines/reference/asyncAwait_es6.js b/tests/baselines/reference/asyncAwait_es6.js index 2c0ffaf478a..155a44d339d 100644 --- a/tests/baselines/reference/asyncAwait_es6.js +++ b/tests/baselines/reference/asyncAwait_es6.js @@ -40,11 +40,10 @@ module M { } //// [asyncAwait_es6.js] -var __awaiter = (this && this.__awaiter) || function (args, generator) { - var PromiseConstructor = args[1] || Promise; - return new PromiseConstructor(function (resolve, reject) { - generator = generator.call(args[0], args[2]); - function cast(value) { return value instanceof PromiseConstructor ? value : new PromiseConstructor(function (resolve) { resolve(value); }); } +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promise, generator) { + return new Promise(function (resolve, reject) { + generator = generator.call(thisArg, _arguments); + function cast(value) { return value instanceof Promise && value.constructor === Promise ? value : new Promise(function (resolve) { resolve(value); }); } function onfulfill(value) { try { step("next", value); } catch (e) { reject(e); } } function onreject(value) { try { step("throw", value); } catch (e) { reject(e); } } function step(verb, value) { @@ -55,65 +54,65 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) { }); }; function f0() { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } function f1() { - return __awaiter([this, Promise], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } function f3() { - return __awaiter([this, MyPromise], function* () { }); + return __awaiter(this, void 0, MyPromise, function* () { }); } let f4 = function () { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); }; let f5 = function () { - return __awaiter([this, Promise], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); }; let f6 = function () { - return __awaiter([this, MyPromise], function* () { }); + return __awaiter(this, void 0, MyPromise, function* () { }); }; -let f7 = () => __awaiter([this], function* () { }); -let f8 = () => __awaiter([this, Promise], function* () { }); -let f9 = () => __awaiter([this, MyPromise], function* () { }); -let f10 = () => __awaiter([this], function* () { return p; }); -let f11 = () => __awaiter([this], function* () { return mp; }); -let f12 = () => __awaiter([this, Promise], function* () { return mp; }); -let f13 = () => __awaiter([this, MyPromise], function* () { return p; }); +let f7 = () => __awaiter(this, void 0, Promise, function* () { }); +let f8 = () => __awaiter(this, void 0, Promise, function* () { }); +let f9 = () => __awaiter(this, void 0, MyPromise, function* () { }); +let f10 = () => __awaiter(this, void 0, Promise, function* () { return p; }); +let f11 = () => __awaiter(this, void 0, Promise, function* () { return mp; }); +let f12 = () => __awaiter(this, void 0, Promise, function* () { return mp; }); +let f13 = () => __awaiter(this, void 0, MyPromise, function* () { return p; }); let o = { m1() { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); }, m2() { - return __awaiter([this, Promise], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); }, m3() { - return __awaiter([this, MyPromise], function* () { }); + return __awaiter(this, void 0, MyPromise, function* () { }); } }; class C { m1() { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } m2() { - return __awaiter([this, Promise], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } m3() { - return __awaiter([this, MyPromise], function* () { }); + return __awaiter(this, void 0, MyPromise, function* () { }); } static m4() { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } static m5() { - return __awaiter([this, Promise], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } static m6() { - return __awaiter([this, MyPromise], function* () { }); + return __awaiter(this, void 0, MyPromise, function* () { }); } } var M; (function (M) { function f1() { - return __awaiter([this], function* () { }); + return __awaiter(this, void 0, Promise, function* () { }); } M.f1 = f1; })(M || (M = {})); diff --git a/tests/baselines/reference/asyncFunctionDeclaration11_es6.js b/tests/baselines/reference/asyncFunctionDeclaration11_es6.js index 7cc10548371..a44343cef78 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration11_es6.js +++ b/tests/baselines/reference/asyncFunctionDeclaration11_es6.js @@ -4,6 +4,6 @@ async function await(): Promise { //// [asyncFunctionDeclaration11_es6.js] function await() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { }); } diff --git a/tests/baselines/reference/asyncFunctionDeclaration13_es6.js b/tests/baselines/reference/asyncFunctionDeclaration13_es6.js index f17b5c894f8..4257c8691c2 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration13_es6.js +++ b/tests/baselines/reference/asyncFunctionDeclaration13_es6.js @@ -7,7 +7,7 @@ async function foo(): Promise { //// [asyncFunctionDeclaration13_es6.js] function foo() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { // Legal to use 'await' in a type context. var v; }); diff --git a/tests/baselines/reference/asyncFunctionDeclaration14_es6.js b/tests/baselines/reference/asyncFunctionDeclaration14_es6.js index 7fee3f4802a..f32d106f92e 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration14_es6.js +++ b/tests/baselines/reference/asyncFunctionDeclaration14_es6.js @@ -5,7 +5,7 @@ async function foo(): Promise { //// [asyncFunctionDeclaration14_es6.js] function foo() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { return; }); } diff --git a/tests/baselines/reference/asyncFunctionDeclaration1_es6.js b/tests/baselines/reference/asyncFunctionDeclaration1_es6.js index 3e587858021..263e27fa35e 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration1_es6.js +++ b/tests/baselines/reference/asyncFunctionDeclaration1_es6.js @@ -4,6 +4,6 @@ async function foo(): Promise { //// [asyncFunctionDeclaration1_es6.js] function foo() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { }); } diff --git a/tests/baselines/reference/asyncFunctionDeclaration6_es6.js b/tests/baselines/reference/asyncFunctionDeclaration6_es6.js index 33645996cd8..8c37968ab4c 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration6_es6.js +++ b/tests/baselines/reference/asyncFunctionDeclaration6_es6.js @@ -4,6 +4,6 @@ async function foo(a = await): Promise { //// [asyncFunctionDeclaration6_es6.js] function foo(a = yield ) { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { }); } diff --git a/tests/baselines/reference/asyncFunctionDeclaration7_es6.js b/tests/baselines/reference/asyncFunctionDeclaration7_es6.js index 667250e45db..ef66df4e413 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration7_es6.js +++ b/tests/baselines/reference/asyncFunctionDeclaration7_es6.js @@ -7,10 +7,10 @@ async function bar(): Promise { //// [asyncFunctionDeclaration7_es6.js] function bar() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { // 'await' here is an identifier, and not a yield expression. function foo(a = yield ) { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { }); } }); diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es6.js b/tests/baselines/reference/asyncFunctionDeclaration9_es6.js index dab1b75076e..9723a69f2a2 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es6.js +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es6.js @@ -5,7 +5,7 @@ async function foo(): Promise { //// [asyncFunctionDeclaration9_es6.js] function foo() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { var v = { [yield ]: foo }; }); } diff --git a/tests/baselines/reference/awaitBinaryExpression1_es6.js b/tests/baselines/reference/awaitBinaryExpression1_es6.js index 11b630355d4..8deb771f5ab 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es6.js +++ b/tests/baselines/reference/awaitBinaryExpression1_es6.js @@ -9,7 +9,7 @@ async function func(): Promise { //// [awaitBinaryExpression1_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = (yield p) || a; "after"; diff --git a/tests/baselines/reference/awaitBinaryExpression2_es6.js b/tests/baselines/reference/awaitBinaryExpression2_es6.js index e8f610ae10a..506af50a0ef 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es6.js +++ b/tests/baselines/reference/awaitBinaryExpression2_es6.js @@ -9,7 +9,7 @@ async function func(): Promise { //// [awaitBinaryExpression2_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = (yield p) && a; "after"; diff --git a/tests/baselines/reference/awaitBinaryExpression3_es6.js b/tests/baselines/reference/awaitBinaryExpression3_es6.js index 770bf75d5a1..4b298d7b947 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es6.js +++ b/tests/baselines/reference/awaitBinaryExpression3_es6.js @@ -9,7 +9,7 @@ async function func(): Promise { //// [awaitBinaryExpression3_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = (yield p) + a; "after"; diff --git a/tests/baselines/reference/awaitBinaryExpression4_es6.js b/tests/baselines/reference/awaitBinaryExpression4_es6.js index f756d6604bb..4d313588984 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es6.js +++ b/tests/baselines/reference/awaitBinaryExpression4_es6.js @@ -9,7 +9,7 @@ async function func(): Promise { //// [awaitBinaryExpression4_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = yield p, a; "after"; diff --git a/tests/baselines/reference/awaitBinaryExpression5_es6.js b/tests/baselines/reference/awaitBinaryExpression5_es6.js index c66cfbbd57a..01d6c50f6f0 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es6.js +++ b/tests/baselines/reference/awaitBinaryExpression5_es6.js @@ -10,7 +10,7 @@ async function func(): Promise { //// [awaitBinaryExpression5_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var o; o.a = yield p; diff --git a/tests/baselines/reference/awaitCallExpression1_es6.js b/tests/baselines/reference/awaitCallExpression1_es6.js index db4e0c96abf..f9dad87a8b6 100644 --- a/tests/baselines/reference/awaitCallExpression1_es6.js +++ b/tests/baselines/reference/awaitCallExpression1_es6.js @@ -13,7 +13,7 @@ async function func(): Promise { //// [awaitCallExpression1_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = fn(a, a, a); "after"; diff --git a/tests/baselines/reference/awaitCallExpression2_es6.js b/tests/baselines/reference/awaitCallExpression2_es6.js index 47b1e062ae5..87d99cd0793 100644 --- a/tests/baselines/reference/awaitCallExpression2_es6.js +++ b/tests/baselines/reference/awaitCallExpression2_es6.js @@ -13,7 +13,7 @@ async function func(): Promise { //// [awaitCallExpression2_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = fn(yield p, a, a); "after"; diff --git a/tests/baselines/reference/awaitCallExpression3_es6.js b/tests/baselines/reference/awaitCallExpression3_es6.js index e7a09f9b9b8..f397d83c3a1 100644 --- a/tests/baselines/reference/awaitCallExpression3_es6.js +++ b/tests/baselines/reference/awaitCallExpression3_es6.js @@ -13,7 +13,7 @@ async function func(): Promise { //// [awaitCallExpression3_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = fn(a, yield p, a); "after"; diff --git a/tests/baselines/reference/awaitCallExpression4_es6.js b/tests/baselines/reference/awaitCallExpression4_es6.js index 59449e4f6a1..d8824d7e7a0 100644 --- a/tests/baselines/reference/awaitCallExpression4_es6.js +++ b/tests/baselines/reference/awaitCallExpression4_es6.js @@ -13,7 +13,7 @@ async function func(): Promise { //// [awaitCallExpression4_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = (yield pfn)(a, a, a); "after"; diff --git a/tests/baselines/reference/awaitCallExpression5_es6.js b/tests/baselines/reference/awaitCallExpression5_es6.js index c5e28deee89..f39a633765d 100644 --- a/tests/baselines/reference/awaitCallExpression5_es6.js +++ b/tests/baselines/reference/awaitCallExpression5_es6.js @@ -13,7 +13,7 @@ async function func(): Promise { //// [awaitCallExpression5_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = o.fn(a, a, a); "after"; diff --git a/tests/baselines/reference/awaitCallExpression6_es6.js b/tests/baselines/reference/awaitCallExpression6_es6.js index 62fde8c799c..de8477fa938 100644 --- a/tests/baselines/reference/awaitCallExpression6_es6.js +++ b/tests/baselines/reference/awaitCallExpression6_es6.js @@ -13,7 +13,7 @@ async function func(): Promise { //// [awaitCallExpression6_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = o.fn(yield p, a, a); "after"; diff --git a/tests/baselines/reference/awaitCallExpression7_es6.js b/tests/baselines/reference/awaitCallExpression7_es6.js index f717d76c51d..24edc3b9393 100644 --- a/tests/baselines/reference/awaitCallExpression7_es6.js +++ b/tests/baselines/reference/awaitCallExpression7_es6.js @@ -13,7 +13,7 @@ async function func(): Promise { //// [awaitCallExpression7_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = o.fn(a, yield p, a); "after"; diff --git a/tests/baselines/reference/awaitCallExpression8_es6.js b/tests/baselines/reference/awaitCallExpression8_es6.js index e6e2cee172b..8bee6112a7a 100644 --- a/tests/baselines/reference/awaitCallExpression8_es6.js +++ b/tests/baselines/reference/awaitCallExpression8_es6.js @@ -13,7 +13,7 @@ async function func(): Promise { //// [awaitCallExpression8_es6.js] function func() { - return __awaiter([this, Promise], function* () { + return __awaiter(this, void 0, Promise, function* () { "before"; var b = (yield po).fn(a, a, a); "after"; diff --git a/tests/baselines/reference/awaitUnion_es6.js b/tests/baselines/reference/awaitUnion_es6.js index 7ac556b01bc..80c68f811ef 100644 --- a/tests/baselines/reference/awaitUnion_es6.js +++ b/tests/baselines/reference/awaitUnion_es6.js @@ -14,7 +14,7 @@ async function f() { //// [awaitUnion_es6.js] function f() { - return __awaiter([this], function* () { + return __awaiter(this, void 0, Promise, function* () { let await_a = yield a; let await_b = yield b; let await_c = yield c;