Fix async function emit for lexical arguments
This commit is contained in:
parent
eb03ae8e7c
commit
5b32903ab4
|
@ -5765,6 +5765,7 @@ namespace ts {
|
||||||
|
|
||||||
if (node.parserContextFlags & ParserContextFlags.Await) {
|
if (node.parserContextFlags & ParserContextFlags.Await) {
|
||||||
getNodeLinks(container).flags |= NodeCheckFlags.CaptureArguments;
|
getNodeLinks(container).flags |= NodeCheckFlags.CaptureArguments;
|
||||||
|
getNodeLinks(node).flags |= NodeCheckFlags.LexicalArguments;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,11 +49,10 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
||||||
};`;
|
};`;
|
||||||
|
|
||||||
const awaiterHelper = `
|
const awaiterHelper = `
|
||||||
var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promise, generator) {
|
||||||
var PromiseConstructor = args[1] || Promise;
|
return new Promise(function (resolve, reject) {
|
||||||
return new PromiseConstructor(function (resolve, reject) {
|
generator = generator.call(thisArg, _arguments);
|
||||||
generator = generator.call(args[0], args[2]);
|
function cast(value) { return value instanceof Promise && value.constructor === Promise ? value : new Promise(function (resolve) { resolve(value); }); }
|
||||||
function cast(value) { return value instanceof PromiseConstructor ? value : new PromiseConstructor(function (resolve) { resolve(value); }); }
|
|
||||||
function onfulfill(value) { try { step("next", value); } catch (e) { reject(e); } }
|
function onfulfill(value) { try { step("next", value); } catch (e) { reject(e); } }
|
||||||
function onreject(value) { try { step("throw", value); } catch (e) { reject(e); } }
|
function onreject(value) { try { step("throw", value); } catch (e) { reject(e); } }
|
||||||
function step(verb, value) {
|
function step(verb, value) {
|
||||||
|
@ -1239,6 +1238,11 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function emitExpressionIdentifier(node: Identifier) {
|
function emitExpressionIdentifier(node: Identifier) {
|
||||||
|
if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.LexicalArguments) {
|
||||||
|
write("_arguments");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let container = resolver.getReferencedExportContainer(node);
|
let container = resolver.getReferencedExportContainer(node);
|
||||||
if (container) {
|
if (container) {
|
||||||
if (container.kind === SyntaxKind.SourceFile) {
|
if (container.kind === SyntaxKind.SourceFile) {
|
||||||
|
@ -3374,9 +3378,9 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
||||||
// let a = async (b) => { await b; }
|
// let a = async (b) => { await b; }
|
||||||
//
|
//
|
||||||
// // output
|
// // output
|
||||||
// let a = (b) => __awaiter([this], function* (b) {
|
// let a = (b) => __awaiter(this, void 0, void 0, function* () {
|
||||||
// yield b;
|
// yield b;
|
||||||
// }, this);
|
// });
|
||||||
//
|
//
|
||||||
// The emit for an async arrow with a lexical `arguments` binding might be:
|
// The emit for an async arrow with a lexical `arguments` binding might be:
|
||||||
//
|
//
|
||||||
|
@ -3384,7 +3388,7 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
||||||
// let a = async (b) => { await arguments[0]; }
|
// let a = async (b) => { await arguments[0]; }
|
||||||
//
|
//
|
||||||
// // output
|
// // output
|
||||||
// let a = (b) => __awaiter([this, arguments], function* (arguments) {
|
// let a = (b) => __awaiter(this, arguments, void 0, function* (arguments) {
|
||||||
// yield arguments[0];
|
// yield arguments[0];
|
||||||
// });
|
// });
|
||||||
//
|
//
|
||||||
|
@ -3398,9 +3402,9 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
||||||
//
|
//
|
||||||
// // output
|
// // output
|
||||||
// let a = function (b) {
|
// let a = function (b) {
|
||||||
// return __awaiter([this], function* () {
|
// return __awaiter(this, void 0, void 0, function* () {
|
||||||
// yield b;
|
// yield b;
|
||||||
// }, this);
|
// });
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// The emit for an async function expression with a lexical `arguments` binding
|
// The emit for an async function expression with a lexical `arguments` binding
|
||||||
|
@ -3413,8 +3417,8 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
||||||
//
|
//
|
||||||
// // output
|
// // output
|
||||||
// let a = function (b) {
|
// let a = function (b) {
|
||||||
// return __awaiter([this, arguments], function* (arguments) {
|
// return __awaiter(this, arguments, void 0, function* (_arguments) {
|
||||||
// yield arguments[0];
|
// yield _arguments[0];
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
|
@ -3428,8 +3432,8 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
||||||
//
|
//
|
||||||
// // output
|
// // output
|
||||||
// let a = function (b) {
|
// let a = function (b) {
|
||||||
// return __awaiter([this, arguments, MyPromise], function* (arguments) {
|
// return __awaiter(this, arguments, MyPromise, function* (_arguments) {
|
||||||
// yield arguments[0];
|
// yield _arguments[0];
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
|
@ -3443,23 +3447,28 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
||||||
write("return");
|
write("return");
|
||||||
}
|
}
|
||||||
|
|
||||||
write(" __awaiter([this");
|
write(" __awaiter(this");
|
||||||
if (promiseConstructor || hasLexicalArguments) {
|
|
||||||
write(", ");
|
|
||||||
if (promiseConstructor) {
|
|
||||||
emitNodeWithoutSourceMap(promiseConstructor);
|
|
||||||
}
|
|
||||||
if (hasLexicalArguments) {
|
if (hasLexicalArguments) {
|
||||||
write(", arguments");
|
write(", arguments");
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
write(", void 0");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (promiseConstructor) {
|
||||||
|
write(", ");
|
||||||
|
emitNodeWithoutSourceMap(promiseConstructor);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
write(", Promise");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Emit the call to __awaiter.
|
// Emit the call to __awaiter.
|
||||||
if (hasLexicalArguments) {
|
if (hasLexicalArguments) {
|
||||||
write("], function* (arguments)");
|
write(", function* (_arguments)");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
write("], function* ()");
|
write(", function* ()");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Emit the signature and body for the inner generator function.
|
// Emit the signature and body for the inner generator function.
|
||||||
|
|
|
@ -1595,12 +1595,13 @@ namespace ts {
|
||||||
SuperInstance = 0x00000100, // Instance 'super' reference
|
SuperInstance = 0x00000100, // Instance 'super' reference
|
||||||
SuperStatic = 0x00000200, // Static 'super' reference
|
SuperStatic = 0x00000200, // Static 'super' reference
|
||||||
ContextChecked = 0x00000400, // Contextual types have been assigned
|
ContextChecked = 0x00000400, // Contextual types have been assigned
|
||||||
CaptureArguments = 0x00000800, // Lexical 'arguments' used in body (for async functions)
|
LexicalArguments = 0x00000800,
|
||||||
|
CaptureArguments = 0x00001000, // Lexical 'arguments' used in body (for async functions)
|
||||||
|
|
||||||
// Values for enum members have been computed, and any errors have been reported for them.
|
// Values for enum members have been computed, and any errors have been reported for them.
|
||||||
EnumValuesComputed = 0x00001000,
|
EnumValuesComputed = 0x00002000,
|
||||||
BlockScopedBindingInLoop = 0x00002000,
|
BlockScopedBindingInLoop = 0x00004000,
|
||||||
LexicalModuleMergesWithClass= 0x00004000, // Instantiated lexical module declaration is merged with a previous class declaration.
|
LexicalModuleMergesWithClass= 0x00008000, // Instantiated lexical module declaration is merged with a previous class declaration.
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @internal */
|
/* @internal */
|
||||||
|
|
|
@ -4,5 +4,5 @@ var foo = async (): Promise<void> => {
|
||||||
};
|
};
|
||||||
|
|
||||||
//// [asyncArrowFunction1_es6.js]
|
//// [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]
|
//// [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]
|
//// [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.
|
// '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]
|
//// [asyncArrowFunction8_es6.js]
|
||||||
var foo = () => __awaiter([this, Promise], function* () {
|
var foo = () => __awaiter(this, void 0, Promise, function* () {
|
||||||
var v = { [yield ]: foo };
|
var v = { [yield ]: foo };
|
||||||
});
|
});
|
||||||
|
|
|
@ -11,6 +11,6 @@ class C {
|
||||||
class C {
|
class C {
|
||||||
method() {
|
method() {
|
||||||
function other() { }
|
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]
|
//// [asyncArrowFunctionCapturesThis_es6.js]
|
||||||
class C {
|
class C {
|
||||||
method() {
|
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]
|
//// [asyncAwaitIsolatedModules_es6.js]
|
||||||
var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promise, generator) {
|
||||||
var PromiseConstructor = args[1] || Promise;
|
return new Promise(function (resolve, reject) {
|
||||||
return new PromiseConstructor(function (resolve, reject) {
|
generator = generator.call(thisArg, _arguments);
|
||||||
generator = generator.call(args[0], args[2]);
|
function cast(value) { return value instanceof Promise && value.constructor === Promise ? value : new Promise(function (resolve) { resolve(value); }); }
|
||||||
function cast(value) { return value instanceof PromiseConstructor ? value : new PromiseConstructor(function (resolve) { resolve(value); }); }
|
|
||||||
function onfulfill(value) { try { step("next", value); } catch (e) { reject(e); } }
|
function onfulfill(value) { try { step("next", value); } catch (e) { reject(e); } }
|
||||||
function onreject(value) { try { step("throw", value); } catch (e) { reject(e); } }
|
function onreject(value) { try { step("throw", value); } catch (e) { reject(e); } }
|
||||||
function step(verb, value) {
|
function step(verb, value) {
|
||||||
|
@ -55,65 +54,65 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
function f0() {
|
function f0() {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
function f1() {
|
function f1() {
|
||||||
return __awaiter([this, Promise], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
function f3() {
|
function f3() {
|
||||||
return __awaiter([this, MyPromise], function* () { });
|
return __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
}
|
}
|
||||||
let f4 = function () {
|
let f4 = function () {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
};
|
};
|
||||||
let f5 = function () {
|
let f5 = function () {
|
||||||
return __awaiter([this, Promise], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
};
|
};
|
||||||
let f6 = function () {
|
let f6 = function () {
|
||||||
return __awaiter([this, MyPromise], function* () { });
|
return __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
};
|
};
|
||||||
let f7 = () => __awaiter([this], function* () { });
|
let f7 = () => __awaiter(this, void 0, Promise, function* () { });
|
||||||
let f8 = () => __awaiter([this, Promise], function* () { });
|
let f8 = () => __awaiter(this, void 0, Promise, function* () { });
|
||||||
let f9 = () => __awaiter([this, MyPromise], function* () { });
|
let f9 = () => __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
let f10 = () => __awaiter([this], function* () { return p; });
|
let f10 = () => __awaiter(this, void 0, Promise, function* () { return p; });
|
||||||
let f11 = () => __awaiter([this], function* () { return mp; });
|
let f11 = () => __awaiter(this, void 0, Promise, function* () { return mp; });
|
||||||
let f12 = () => __awaiter([this, Promise], function* () { return mp; });
|
let f12 = () => __awaiter(this, void 0, Promise, function* () { return mp; });
|
||||||
let f13 = () => __awaiter([this, MyPromise], function* () { return p; });
|
let f13 = () => __awaiter(this, void 0, MyPromise, function* () { return p; });
|
||||||
let o = {
|
let o = {
|
||||||
m1() {
|
m1() {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
},
|
},
|
||||||
m2() {
|
m2() {
|
||||||
return __awaiter([this, Promise], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
},
|
},
|
||||||
m3() {
|
m3() {
|
||||||
return __awaiter([this, MyPromise], function* () { });
|
return __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
class C {
|
class C {
|
||||||
m1() {
|
m1() {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
m2() {
|
m2() {
|
||||||
return __awaiter([this, Promise], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
m3() {
|
m3() {
|
||||||
return __awaiter([this, MyPromise], function* () { });
|
return __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
}
|
}
|
||||||
static m4() {
|
static m4() {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
static m5() {
|
static m5() {
|
||||||
return __awaiter([this, Promise], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
static m6() {
|
static m6() {
|
||||||
return __awaiter([this, MyPromise], function* () { });
|
return __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var M;
|
var M;
|
||||||
(function (M) {
|
(function (M) {
|
||||||
function f1() {
|
function f1() {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
M.f1 = f1;
|
M.f1 = f1;
|
||||||
})(M || (M = {}));
|
})(M || (M = {}));
|
||||||
|
|
|
@ -40,11 +40,10 @@ module M {
|
||||||
}
|
}
|
||||||
|
|
||||||
//// [asyncAwait_es6.js]
|
//// [asyncAwait_es6.js]
|
||||||
var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promise, generator) {
|
||||||
var PromiseConstructor = args[1] || Promise;
|
return new Promise(function (resolve, reject) {
|
||||||
return new PromiseConstructor(function (resolve, reject) {
|
generator = generator.call(thisArg, _arguments);
|
||||||
generator = generator.call(args[0], args[2]);
|
function cast(value) { return value instanceof Promise && value.constructor === Promise ? value : new Promise(function (resolve) { resolve(value); }); }
|
||||||
function cast(value) { return value instanceof PromiseConstructor ? value : new PromiseConstructor(function (resolve) { resolve(value); }); }
|
|
||||||
function onfulfill(value) { try { step("next", value); } catch (e) { reject(e); } }
|
function onfulfill(value) { try { step("next", value); } catch (e) { reject(e); } }
|
||||||
function onreject(value) { try { step("throw", value); } catch (e) { reject(e); } }
|
function onreject(value) { try { step("throw", value); } catch (e) { reject(e); } }
|
||||||
function step(verb, value) {
|
function step(verb, value) {
|
||||||
|
@ -55,65 +54,65 @@ var __awaiter = (this && this.__awaiter) || function (args, generator) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
function f0() {
|
function f0() {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
function f1() {
|
function f1() {
|
||||||
return __awaiter([this, Promise], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
function f3() {
|
function f3() {
|
||||||
return __awaiter([this, MyPromise], function* () { });
|
return __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
}
|
}
|
||||||
let f4 = function () {
|
let f4 = function () {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
};
|
};
|
||||||
let f5 = function () {
|
let f5 = function () {
|
||||||
return __awaiter([this, Promise], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
};
|
};
|
||||||
let f6 = function () {
|
let f6 = function () {
|
||||||
return __awaiter([this, MyPromise], function* () { });
|
return __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
};
|
};
|
||||||
let f7 = () => __awaiter([this], function* () { });
|
let f7 = () => __awaiter(this, void 0, Promise, function* () { });
|
||||||
let f8 = () => __awaiter([this, Promise], function* () { });
|
let f8 = () => __awaiter(this, void 0, Promise, function* () { });
|
||||||
let f9 = () => __awaiter([this, MyPromise], function* () { });
|
let f9 = () => __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
let f10 = () => __awaiter([this], function* () { return p; });
|
let f10 = () => __awaiter(this, void 0, Promise, function* () { return p; });
|
||||||
let f11 = () => __awaiter([this], function* () { return mp; });
|
let f11 = () => __awaiter(this, void 0, Promise, function* () { return mp; });
|
||||||
let f12 = () => __awaiter([this, Promise], function* () { return mp; });
|
let f12 = () => __awaiter(this, void 0, Promise, function* () { return mp; });
|
||||||
let f13 = () => __awaiter([this, MyPromise], function* () { return p; });
|
let f13 = () => __awaiter(this, void 0, MyPromise, function* () { return p; });
|
||||||
let o = {
|
let o = {
|
||||||
m1() {
|
m1() {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
},
|
},
|
||||||
m2() {
|
m2() {
|
||||||
return __awaiter([this, Promise], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
},
|
},
|
||||||
m3() {
|
m3() {
|
||||||
return __awaiter([this, MyPromise], function* () { });
|
return __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
class C {
|
class C {
|
||||||
m1() {
|
m1() {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
m2() {
|
m2() {
|
||||||
return __awaiter([this, Promise], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
m3() {
|
m3() {
|
||||||
return __awaiter([this, MyPromise], function* () { });
|
return __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
}
|
}
|
||||||
static m4() {
|
static m4() {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
static m5() {
|
static m5() {
|
||||||
return __awaiter([this, Promise], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
static m6() {
|
static m6() {
|
||||||
return __awaiter([this, MyPromise], function* () { });
|
return __awaiter(this, void 0, MyPromise, function* () { });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var M;
|
var M;
|
||||||
(function (M) {
|
(function (M) {
|
||||||
function f1() {
|
function f1() {
|
||||||
return __awaiter([this], function* () { });
|
return __awaiter(this, void 0, Promise, function* () { });
|
||||||
}
|
}
|
||||||
M.f1 = f1;
|
M.f1 = f1;
|
||||||
})(M || (M = {}));
|
})(M || (M = {}));
|
||||||
|
|
|
@ -4,6 +4,6 @@ async function await(): Promise<void> {
|
||||||
|
|
||||||
//// [asyncFunctionDeclaration11_es6.js]
|
//// [asyncFunctionDeclaration11_es6.js]
|
||||||
function await() {
|
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]
|
//// [asyncFunctionDeclaration13_es6.js]
|
||||||
function foo() {
|
function foo() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
// Legal to use 'await' in a type context.
|
// Legal to use 'await' in a type context.
|
||||||
var v;
|
var v;
|
||||||
});
|
});
|
||||||
|
|
|
@ -5,7 +5,7 @@ async function foo(): Promise<void> {
|
||||||
|
|
||||||
//// [asyncFunctionDeclaration14_es6.js]
|
//// [asyncFunctionDeclaration14_es6.js]
|
||||||
function foo() {
|
function foo() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
return;
|
return;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,6 @@ async function foo(): Promise<void> {
|
||||||
|
|
||||||
//// [asyncFunctionDeclaration1_es6.js]
|
//// [asyncFunctionDeclaration1_es6.js]
|
||||||
function foo() {
|
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]
|
//// [asyncFunctionDeclaration6_es6.js]
|
||||||
function foo(a = yield ) {
|
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]
|
//// [asyncFunctionDeclaration7_es6.js]
|
||||||
function bar() {
|
function bar() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
// 'await' here is an identifier, and not a yield expression.
|
// 'await' here is an identifier, and not a yield expression.
|
||||||
function foo(a = yield ) {
|
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]
|
//// [asyncFunctionDeclaration9_es6.js]
|
||||||
function foo() {
|
function foo() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
var v = { [yield ]: foo };
|
var v = { [yield ]: foo };
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitBinaryExpression1_es6.js]
|
//// [awaitBinaryExpression1_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = (yield p) || a;
|
var b = (yield p) || a;
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -9,7 +9,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitBinaryExpression2_es6.js]
|
//// [awaitBinaryExpression2_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = (yield p) && a;
|
var b = (yield p) && a;
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -9,7 +9,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitBinaryExpression3_es6.js]
|
//// [awaitBinaryExpression3_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = (yield p) + a;
|
var b = (yield p) + a;
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -9,7 +9,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitBinaryExpression4_es6.js]
|
//// [awaitBinaryExpression4_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = yield p, a;
|
var b = yield p, a;
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -10,7 +10,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitBinaryExpression5_es6.js]
|
//// [awaitBinaryExpression5_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var o;
|
var o;
|
||||||
o.a = yield p;
|
o.a = yield p;
|
||||||
|
|
|
@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitCallExpression1_es6.js]
|
//// [awaitCallExpression1_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = fn(a, a, a);
|
var b = fn(a, a, a);
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitCallExpression2_es6.js]
|
//// [awaitCallExpression2_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = fn(yield p, a, a);
|
var b = fn(yield p, a, a);
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitCallExpression3_es6.js]
|
//// [awaitCallExpression3_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = fn(a, yield p, a);
|
var b = fn(a, yield p, a);
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitCallExpression4_es6.js]
|
//// [awaitCallExpression4_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = (yield pfn)(a, a, a);
|
var b = (yield pfn)(a, a, a);
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitCallExpression5_es6.js]
|
//// [awaitCallExpression5_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = o.fn(a, a, a);
|
var b = o.fn(a, a, a);
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitCallExpression6_es6.js]
|
//// [awaitCallExpression6_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = o.fn(yield p, a, a);
|
var b = o.fn(yield p, a, a);
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitCallExpression7_es6.js]
|
//// [awaitCallExpression7_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = o.fn(a, yield p, a);
|
var b = o.fn(a, yield p, a);
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -13,7 +13,7 @@ async function func(): Promise<void> {
|
||||||
|
|
||||||
//// [awaitCallExpression8_es6.js]
|
//// [awaitCallExpression8_es6.js]
|
||||||
function func() {
|
function func() {
|
||||||
return __awaiter([this, Promise], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
"before";
|
"before";
|
||||||
var b = (yield po).fn(a, a, a);
|
var b = (yield po).fn(a, a, a);
|
||||||
"after";
|
"after";
|
||||||
|
|
|
@ -14,7 +14,7 @@ async function f() {
|
||||||
|
|
||||||
//// [awaitUnion_es6.js]
|
//// [awaitUnion_es6.js]
|
||||||
function f() {
|
function f() {
|
||||||
return __awaiter([this], function* () {
|
return __awaiter(this, void 0, Promise, function* () {
|
||||||
let await_a = yield a;
|
let await_a = yield a;
|
||||||
let await_b = yield b;
|
let await_b = yield b;
|
||||||
let await_c = yield c;
|
let await_c = yield c;
|
||||||
|
|
Loading…
Reference in a new issue