mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-25 05:29:07 -05:00
Fix async function emit for lexical arguments
This commit is contained in:
@@ -4,5 +4,5 @@ var foo = async (): Promise<void> => {
|
||||
};
|
||||
|
||||
//// [asyncArrowFunction1_es6.js]
|
||||
var foo = () => __awaiter([this, Promise], function* () {
|
||||
var foo = () => __awaiter(this, void 0, Promise, function* () {
|
||||
});
|
||||
|
||||
@@ -4,5 +4,5 @@ var foo = async (a = await): Promise<void> => {
|
||||
}
|
||||
|
||||
//// [asyncArrowFunction6_es6.js]
|
||||
var foo = (a = yield ) => __awaiter([this, Promise], function* () {
|
||||
var foo = (a = yield ) => __awaiter(this, void 0, Promise, function* () {
|
||||
});
|
||||
|
||||
@@ -7,8 +7,8 @@ var bar = async (): Promise<void> => {
|
||||
}
|
||||
|
||||
//// [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* () {
|
||||
});
|
||||
});
|
||||
|
||||
@@ -5,6 +5,6 @@ var foo = async (): Promise<void> => {
|
||||
}
|
||||
|
||||
//// [asyncArrowFunction8_es6.js]
|
||||
var foo = () => __awaiter([this, Promise], function* () {
|
||||
var foo = () => __awaiter(this, void 0, Promise, function* () {
|
||||
var v = { [yield ]: foo };
|
||||
});
|
||||
|
||||
@@ -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); });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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; });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 = {}));
|
||||
|
||||
@@ -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 = {}));
|
||||
|
||||
@@ -4,6 +4,6 @@ async function await(): Promise<void> {
|
||||
|
||||
//// [asyncFunctionDeclaration11_es6.js]
|
||||
function await() {
|
||||
return __awaiter([this, Promise], function* () {
|
||||
return __awaiter(this, void 0, Promise, function* () {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ async function foo(): Promise<void> {
|
||||
|
||||
//// [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;
|
||||
});
|
||||
|
||||
@@ -5,7 +5,7 @@ async function foo(): Promise<void> {
|
||||
|
||||
//// [asyncFunctionDeclaration14_es6.js]
|
||||
function foo() {
|
||||
return __awaiter([this, Promise], function* () {
|
||||
return __awaiter(this, void 0, Promise, function* () {
|
||||
return;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -4,6 +4,6 @@ async function foo(): Promise<void> {
|
||||
|
||||
//// [asyncFunctionDeclaration1_es6.js]
|
||||
function foo() {
|
||||
return __awaiter([this, Promise], function* () {
|
||||
return __awaiter(this, void 0, Promise, function* () {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -4,6 +4,6 @@ async function foo(a = await): Promise<void> {
|
||||
|
||||
//// [asyncFunctionDeclaration6_es6.js]
|
||||
function foo(a = yield ) {
|
||||
return __awaiter([this, Promise], function* () {
|
||||
return __awaiter(this, void 0, Promise, function* () {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -7,10 +7,10 @@ async function bar(): Promise<void> {
|
||||
|
||||
//// [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* () {
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -5,7 +5,7 @@ async function foo(): Promise<void> {
|
||||
|
||||
//// [asyncFunctionDeclaration9_es6.js]
|
||||
function foo() {
|
||||
return __awaiter([this, Promise], function* () {
|
||||
return __awaiter(this, void 0, Promise, function* () {
|
||||
var v = { [yield ]: foo };
|
||||
});
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [awaitBinaryExpression1_es6.js]
|
||||
function func() {
|
||||
return __awaiter([this, Promise], function* () {
|
||||
return __awaiter(this, void 0, Promise, function* () {
|
||||
"before";
|
||||
var b = (yield p) || a;
|
||||
"after";
|
||||
|
||||
@@ -9,7 +9,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [awaitBinaryExpression2_es6.js]
|
||||
function func() {
|
||||
return __awaiter([this, Promise], function* () {
|
||||
return __awaiter(this, void 0, Promise, function* () {
|
||||
"before";
|
||||
var b = (yield p) && a;
|
||||
"after";
|
||||
|
||||
@@ -9,7 +9,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [awaitBinaryExpression3_es6.js]
|
||||
function func() {
|
||||
return __awaiter([this, Promise], function* () {
|
||||
return __awaiter(this, void 0, Promise, function* () {
|
||||
"before";
|
||||
var b = (yield p) + a;
|
||||
"after";
|
||||
|
||||
@@ -9,7 +9,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [awaitBinaryExpression4_es6.js]
|
||||
function func() {
|
||||
return __awaiter([this, Promise], function* () {
|
||||
return __awaiter(this, void 0, Promise, function* () {
|
||||
"before";
|
||||
var b = yield p, a;
|
||||
"after";
|
||||
|
||||
@@ -10,7 +10,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [awaitBinaryExpression5_es6.js]
|
||||
function func() {
|
||||
return __awaiter([this, Promise], function* () {
|
||||
return __awaiter(this, void 0, Promise, function* () {
|
||||
"before";
|
||||
var o;
|
||||
o.a = yield p;
|
||||
|
||||
@@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [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";
|
||||
|
||||
@@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [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";
|
||||
|
||||
@@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [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";
|
||||
|
||||
@@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [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";
|
||||
|
||||
@@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [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";
|
||||
|
||||
@@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [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";
|
||||
|
||||
@@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [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";
|
||||
|
||||
@@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||
|
||||
//// [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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user