From 4318d975310a00730c51fe7eab3e8644d1360f09 Mon Sep 17 00:00:00 2001 From: Artem Tyurin Date: Sat, 5 May 2018 02:45:33 +0200 Subject: [PATCH] Revert "Resolve promise inside async generator" This reverts commit 3e4279195f3eabdf1a473e0acaa942175ad81d7c. --- src/compiler/transformers/esnext.ts | 9 +-- .../reference/asyncImportNestedYield.js | 9 +-- ...ter.asyncGenerators.classMethods.es2015.js | 81 +++---------------- ...mitter.asyncGenerators.classMethods.es5.js | 81 +++---------------- ...cGenerators.functionDeclarations.es2015.js | 63 ++------------- ...syncGenerators.functionDeclarations.es5.js | 63 ++------------- ...ncGenerators.functionExpressions.es2015.js | 63 ++------------- ...asyncGenerators.functionExpressions.es5.js | 63 ++------------- ...cGenerators.objectLiteralMethods.es2015.js | 63 ++------------- ...syncGenerators.objectLiteralMethods.es5.js | 63 ++------------- .../reference/emitter.forAwait.es2015.js | 27 +------ .../reference/emitter.forAwait.es2017.js | 27 +------ .../reference/emitter.forAwait.es5.js | 27 +------ 13 files changed, 71 insertions(+), 568 deletions(-) diff --git a/src/compiler/transformers/esnext.ts b/src/compiler/transformers/esnext.ts index fde07b6323e..109025c375d 100644 --- a/src/compiler/transformers/esnext.ts +++ b/src/compiler/transformers/esnext.ts @@ -922,14 +922,7 @@ namespace ts { return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/asyncImportNestedYield.js b/tests/baselines/reference/asyncImportNestedYield.js index ac27e581186..776caed5167 100644 --- a/tests/baselines/reference/asyncImportNestedYield.js +++ b/tests/baselines/reference/asyncImportNestedYield.js @@ -38,14 +38,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.js b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.js index 0eb63ae638f..15bab8b98ae 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.js +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.js @@ -68,14 +68,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -94,14 +87,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -121,14 +107,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -158,14 +137,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -185,14 +157,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -222,14 +187,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -249,14 +207,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -276,14 +227,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -305,14 +249,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js index 827e1e535df..85357291a6b 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js @@ -95,14 +95,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -154,14 +147,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -219,14 +205,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -295,14 +274,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -371,14 +343,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -465,14 +430,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -530,14 +488,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -589,14 +540,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -661,14 +605,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.js b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.js index f3cde3c01ea..31b0fb24a56 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.js +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.js @@ -37,14 +37,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -61,14 +54,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -86,14 +72,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -121,14 +100,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -146,14 +118,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -181,14 +146,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -206,14 +164,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js index 4895ff855e6..ef965090196 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js @@ -64,14 +64,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -118,14 +111,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -178,14 +164,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -249,14 +228,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -320,14 +292,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -409,14 +374,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -469,14 +427,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.js b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.js index fb5577ef8d1..f460d91bc8b 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.js +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.js @@ -37,14 +37,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -61,14 +54,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -86,14 +72,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -121,14 +100,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -146,14 +118,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -181,14 +146,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -206,14 +164,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js index 25d688d5115..e175f32278c 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js @@ -64,14 +64,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -118,14 +111,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -178,14 +164,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -249,14 +228,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -320,14 +292,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -409,14 +374,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -469,14 +427,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.js b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.js index 025713c1d1c..9a0a9a42b36 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.js +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.js @@ -51,14 +51,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -77,14 +70,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -104,14 +90,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -141,14 +120,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -168,14 +140,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -205,14 +170,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -232,14 +190,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js index 32d6ce06c46..608d57e5eb7 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js @@ -78,14 +78,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -134,14 +127,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -196,14 +182,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -269,14 +248,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -342,14 +314,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -433,14 +398,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -495,14 +453,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.forAwait.es2015.js b/tests/baselines/reference/emitter.forAwait.es2015.js index 5f84389cd4e..980dc3a8e3b 100644 --- a/tests/baselines/reference/emitter.forAwait.es2015.js +++ b/tests/baselines/reference/emitter.forAwait.es2015.js @@ -118,14 +118,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -161,14 +154,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -238,14 +224,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.forAwait.es2017.js b/tests/baselines/reference/emitter.forAwait.es2017.js index 525c7176372..9fcf6190990 100644 --- a/tests/baselines/reference/emitter.forAwait.es2017.js +++ b/tests/baselines/reference/emitter.forAwait.es2017.js @@ -98,14 +98,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -141,14 +134,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -208,14 +194,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } diff --git a/tests/baselines/reference/emitter.forAwait.es5.js b/tests/baselines/reference/emitter.forAwait.es5.js index 956ef4a4f02..277bc2b4e6b 100644 --- a/tests/baselines/reference/emitter.forAwait.es5.js +++ b/tests/baselines/reference/emitter.forAwait.es5.js @@ -241,14 +241,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -333,14 +326,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } @@ -506,14 +492,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { - if (r.value instanceof __await) { - Promise.resolve(r.value.v).then(fulfill, reject); - } else if (r.value instanceof Promise) { - r.value.then(function(rv) { settle(q[0][2], resolve(r, rv)); }, function(e) { settle(q[0][3], resolve(r, e)); }); - } else { settle(q[0][2], r); } - } - function resolve(r, rv) { return { value: rv, done: r.done }; } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }