Added es5 conformance tests for awaiting a call

This commit is contained in:
Ron Buckton
2016-06-27 15:34:15 -07:00
parent 48a9562e41
commit 0c647c3d14
32 changed files with 1372 additions and 0 deletions
@@ -0,0 +1,27 @@
//// [awaitCallExpression1_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = fn(a, a, a);
after();
}
//// [awaitCallExpression1_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b;
return __generator(function (_a) {
before();
b = fn(a, a, a);
after();
return [2 /*return*/];
});
});
}
@@ -0,0 +1,59 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression1_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitCallExpression1_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 1, 32))
>arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 2, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 2, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 2, 49))
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : Symbol(o, Decl(awaitCallExpression1_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 3, 16))
>arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 3, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 3, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 3, 49))
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Symbol(pfn, Decl(awaitCallExpression1_es5.ts, 4, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 4, 28))
>arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 4, 42))
>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 4, 57))
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Symbol(po, Decl(awaitCallExpression1_es5.ts, 5, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 5, 25))
>arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 5, 29))
>arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 5, 43))
>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 5, 58))
declare function before(): void;
>before : Symbol(before, Decl(awaitCallExpression1_es5.ts, 5, 84))
declare function after(): void;
>after : Symbol(after, Decl(awaitCallExpression1_es5.ts, 6, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitCallExpression1_es5.ts, 7, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitCallExpression1_es5.ts, 5, 84))
var b = fn(a, a, a);
>b : Symbol(b, Decl(awaitCallExpression1_es5.ts, 10, 7))
>fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 1, 32))
>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11))
>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11))
>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitCallExpression1_es5.ts, 6, 32))
}
@@ -0,0 +1,62 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression1_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
>Promise : Promise<T>
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
>Promise : Promise<T>
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = fn(a, a, a);
>b : void
>fn(a, a, a) : void
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>a : boolean
>a : boolean
>a : boolean
after();
>after() : void
>after : () => void
}
@@ -0,0 +1,33 @@
//// [awaitCallExpression2_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = fn(await p, a, a);
after();
}
//// [awaitCallExpression2_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b, _a, _b;
return __generator(function (_c) {
switch (_c.label) {
case 0:
before();
_a = fn;
return [4 /*yield*/, p];
case 1:
b = _a.apply(void 0, [_c.sent(), a, a]);
after();
return [2 /*return*/];
}
});
});
}
@@ -0,0 +1,59 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression2_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitCallExpression2_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitCallExpression2_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 1, 32))
>arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 2, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 2, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 2, 49))
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : Symbol(o, Decl(awaitCallExpression2_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 3, 16))
>arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 3, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 3, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 3, 49))
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Symbol(pfn, Decl(awaitCallExpression2_es5.ts, 4, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 4, 28))
>arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 4, 42))
>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 4, 57))
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Symbol(po, Decl(awaitCallExpression2_es5.ts, 5, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 5, 25))
>arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 5, 29))
>arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 5, 43))
>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 5, 58))
declare function before(): void;
>before : Symbol(before, Decl(awaitCallExpression2_es5.ts, 5, 84))
declare function after(): void;
>after : Symbol(after, Decl(awaitCallExpression2_es5.ts, 6, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitCallExpression2_es5.ts, 7, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitCallExpression2_es5.ts, 5, 84))
var b = fn(await p, a, a);
>b : Symbol(b, Decl(awaitCallExpression2_es5.ts, 10, 7))
>fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 1, 32))
>p : Symbol(p, Decl(awaitCallExpression2_es5.ts, 1, 11))
>a : Symbol(a, Decl(awaitCallExpression2_es5.ts, 0, 11))
>a : Symbol(a, Decl(awaitCallExpression2_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitCallExpression2_es5.ts, 6, 32))
}
@@ -0,0 +1,63 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression2_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
>Promise : Promise<T>
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
>Promise : Promise<T>
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = fn(await p, a, a);
>b : void
>fn(await p, a, a) : void
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>await p : boolean
>p : Promise<boolean>
>a : boolean
>a : boolean
after();
>after() : void
>after : () => void
}
@@ -0,0 +1,34 @@
//// [awaitCallExpression3_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = fn(a, await p, a);
after();
}
//// [awaitCallExpression3_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b, _a, _b;
return __generator(function (_c) {
switch (_c.label) {
case 0:
before();
_a = fn;
_b = [a];
return [4 /*yield*/, p];
case 1:
b = _a.apply(void 0, _b.concat([_c.sent(), a]));
after();
return [2 /*return*/];
}
});
});
}
@@ -0,0 +1,59 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression3_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitCallExpression3_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitCallExpression3_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : Symbol(fn, Decl(awaitCallExpression3_es5.ts, 1, 32))
>arg0 : Symbol(arg0, Decl(awaitCallExpression3_es5.ts, 2, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression3_es5.ts, 2, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression3_es5.ts, 2, 49))
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : Symbol(o, Decl(awaitCallExpression3_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression3_es5.ts, 3, 16))
>arg0 : Symbol(arg0, Decl(awaitCallExpression3_es5.ts, 3, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression3_es5.ts, 3, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression3_es5.ts, 3, 49))
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Symbol(pfn, Decl(awaitCallExpression3_es5.ts, 4, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>arg0 : Symbol(arg0, Decl(awaitCallExpression3_es5.ts, 4, 28))
>arg1 : Symbol(arg1, Decl(awaitCallExpression3_es5.ts, 4, 42))
>arg2 : Symbol(arg2, Decl(awaitCallExpression3_es5.ts, 4, 57))
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Symbol(po, Decl(awaitCallExpression3_es5.ts, 5, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>fn : Symbol(fn, Decl(awaitCallExpression3_es5.ts, 5, 25))
>arg0 : Symbol(arg0, Decl(awaitCallExpression3_es5.ts, 5, 29))
>arg1 : Symbol(arg1, Decl(awaitCallExpression3_es5.ts, 5, 43))
>arg2 : Symbol(arg2, Decl(awaitCallExpression3_es5.ts, 5, 58))
declare function before(): void;
>before : Symbol(before, Decl(awaitCallExpression3_es5.ts, 5, 84))
declare function after(): void;
>after : Symbol(after, Decl(awaitCallExpression3_es5.ts, 6, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitCallExpression3_es5.ts, 7, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitCallExpression3_es5.ts, 5, 84))
var b = fn(a, await p, a);
>b : Symbol(b, Decl(awaitCallExpression3_es5.ts, 10, 7))
>fn : Symbol(fn, Decl(awaitCallExpression3_es5.ts, 1, 32))
>a : Symbol(a, Decl(awaitCallExpression3_es5.ts, 0, 11))
>p : Symbol(p, Decl(awaitCallExpression3_es5.ts, 1, 11))
>a : Symbol(a, Decl(awaitCallExpression3_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitCallExpression3_es5.ts, 6, 32))
}
@@ -0,0 +1,63 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression3_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
>Promise : Promise<T>
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
>Promise : Promise<T>
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = fn(a, await p, a);
>b : void
>fn(a, await p, a) : void
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>a : boolean
>await p : boolean
>p : Promise<boolean>
>a : boolean
after();
>after() : void
>after : () => void
}
@@ -0,0 +1,32 @@
//// [awaitCallExpression4_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = (await pfn)(a, a, a);
after();
}
//// [awaitCallExpression4_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b;
return __generator(function (_a) {
switch (_a.label) {
case 0:
before();
return [4 /*yield*/, pfn];
case 1:
b = (_a.sent())(a, a, a);
after();
return [2 /*return*/];
}
});
});
}
@@ -0,0 +1,59 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression4_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitCallExpression4_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitCallExpression4_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : Symbol(fn, Decl(awaitCallExpression4_es5.ts, 1, 32))
>arg0 : Symbol(arg0, Decl(awaitCallExpression4_es5.ts, 2, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression4_es5.ts, 2, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression4_es5.ts, 2, 49))
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : Symbol(o, Decl(awaitCallExpression4_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression4_es5.ts, 3, 16))
>arg0 : Symbol(arg0, Decl(awaitCallExpression4_es5.ts, 3, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression4_es5.ts, 3, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression4_es5.ts, 3, 49))
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Symbol(pfn, Decl(awaitCallExpression4_es5.ts, 4, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>arg0 : Symbol(arg0, Decl(awaitCallExpression4_es5.ts, 4, 28))
>arg1 : Symbol(arg1, Decl(awaitCallExpression4_es5.ts, 4, 42))
>arg2 : Symbol(arg2, Decl(awaitCallExpression4_es5.ts, 4, 57))
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Symbol(po, Decl(awaitCallExpression4_es5.ts, 5, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>fn : Symbol(fn, Decl(awaitCallExpression4_es5.ts, 5, 25))
>arg0 : Symbol(arg0, Decl(awaitCallExpression4_es5.ts, 5, 29))
>arg1 : Symbol(arg1, Decl(awaitCallExpression4_es5.ts, 5, 43))
>arg2 : Symbol(arg2, Decl(awaitCallExpression4_es5.ts, 5, 58))
declare function before(): void;
>before : Symbol(before, Decl(awaitCallExpression4_es5.ts, 5, 84))
declare function after(): void;
>after : Symbol(after, Decl(awaitCallExpression4_es5.ts, 6, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitCallExpression4_es5.ts, 7, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitCallExpression4_es5.ts, 5, 84))
var b = (await pfn)(a, a, a);
>b : Symbol(b, Decl(awaitCallExpression4_es5.ts, 10, 7))
>pfn : Symbol(pfn, Decl(awaitCallExpression4_es5.ts, 4, 11))
>a : Symbol(a, Decl(awaitCallExpression4_es5.ts, 0, 11))
>a : Symbol(a, Decl(awaitCallExpression4_es5.ts, 0, 11))
>a : Symbol(a, Decl(awaitCallExpression4_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitCallExpression4_es5.ts, 6, 32))
}
@@ -0,0 +1,64 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression4_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
>Promise : Promise<T>
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
>Promise : Promise<T>
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = (await pfn)(a, a, a);
>b : void
>(await pfn)(a, a, a) : void
>(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
>a : boolean
>a : boolean
>a : boolean
after();
>after() : void
>after : () => void
}
@@ -0,0 +1,27 @@
//// [awaitCallExpression5_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = o.fn(a, a, a);
after();
}
//// [awaitCallExpression5_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b;
return __generator(function (_a) {
before();
b = o.fn(a, a, a);
after();
return [2 /*return*/];
});
});
}
@@ -0,0 +1,61 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression5_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitCallExpression5_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitCallExpression5_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : Symbol(fn, Decl(awaitCallExpression5_es5.ts, 1, 32))
>arg0 : Symbol(arg0, Decl(awaitCallExpression5_es5.ts, 2, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression5_es5.ts, 2, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression5_es5.ts, 2, 49))
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : Symbol(o, Decl(awaitCallExpression5_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression5_es5.ts, 3, 16))
>arg0 : Symbol(arg0, Decl(awaitCallExpression5_es5.ts, 3, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression5_es5.ts, 3, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression5_es5.ts, 3, 49))
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Symbol(pfn, Decl(awaitCallExpression5_es5.ts, 4, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>arg0 : Symbol(arg0, Decl(awaitCallExpression5_es5.ts, 4, 28))
>arg1 : Symbol(arg1, Decl(awaitCallExpression5_es5.ts, 4, 42))
>arg2 : Symbol(arg2, Decl(awaitCallExpression5_es5.ts, 4, 57))
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Symbol(po, Decl(awaitCallExpression5_es5.ts, 5, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>fn : Symbol(fn, Decl(awaitCallExpression5_es5.ts, 5, 25))
>arg0 : Symbol(arg0, Decl(awaitCallExpression5_es5.ts, 5, 29))
>arg1 : Symbol(arg1, Decl(awaitCallExpression5_es5.ts, 5, 43))
>arg2 : Symbol(arg2, Decl(awaitCallExpression5_es5.ts, 5, 58))
declare function before(): void;
>before : Symbol(before, Decl(awaitCallExpression5_es5.ts, 5, 84))
declare function after(): void;
>after : Symbol(after, Decl(awaitCallExpression5_es5.ts, 6, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitCallExpression5_es5.ts, 7, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitCallExpression5_es5.ts, 5, 84))
var b = o.fn(a, a, a);
>b : Symbol(b, Decl(awaitCallExpression5_es5.ts, 10, 7))
>o.fn : Symbol(fn, Decl(awaitCallExpression5_es5.ts, 3, 16))
>o : Symbol(o, Decl(awaitCallExpression5_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression5_es5.ts, 3, 16))
>a : Symbol(a, Decl(awaitCallExpression5_es5.ts, 0, 11))
>a : Symbol(a, Decl(awaitCallExpression5_es5.ts, 0, 11))
>a : Symbol(a, Decl(awaitCallExpression5_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitCallExpression5_es5.ts, 6, 32))
}
@@ -0,0 +1,64 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression5_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
>Promise : Promise<T>
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
>Promise : Promise<T>
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = o.fn(a, a, a);
>b : void
>o.fn(a, a, a) : void
>o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>a : boolean
>a : boolean
>a : boolean
after();
>after() : void
>after : () => void
}
@@ -0,0 +1,33 @@
//// [awaitCallExpression6_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = o.fn(await p, a, a);
after();
}
//// [awaitCallExpression6_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b, _a, _b, _c;
return __generator(function (_d) {
switch (_d.label) {
case 0:
before();
_b = (_a = o).fn;
return [4 /*yield*/, p];
case 1:
b = _b.apply(_a, [_d.sent(), a, a]);
after();
return [2 /*return*/];
}
});
});
}
@@ -0,0 +1,61 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression6_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitCallExpression6_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitCallExpression6_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : Symbol(fn, Decl(awaitCallExpression6_es5.ts, 1, 32))
>arg0 : Symbol(arg0, Decl(awaitCallExpression6_es5.ts, 2, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression6_es5.ts, 2, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression6_es5.ts, 2, 49))
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : Symbol(o, Decl(awaitCallExpression6_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression6_es5.ts, 3, 16))
>arg0 : Symbol(arg0, Decl(awaitCallExpression6_es5.ts, 3, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression6_es5.ts, 3, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression6_es5.ts, 3, 49))
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Symbol(pfn, Decl(awaitCallExpression6_es5.ts, 4, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>arg0 : Symbol(arg0, Decl(awaitCallExpression6_es5.ts, 4, 28))
>arg1 : Symbol(arg1, Decl(awaitCallExpression6_es5.ts, 4, 42))
>arg2 : Symbol(arg2, Decl(awaitCallExpression6_es5.ts, 4, 57))
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Symbol(po, Decl(awaitCallExpression6_es5.ts, 5, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>fn : Symbol(fn, Decl(awaitCallExpression6_es5.ts, 5, 25))
>arg0 : Symbol(arg0, Decl(awaitCallExpression6_es5.ts, 5, 29))
>arg1 : Symbol(arg1, Decl(awaitCallExpression6_es5.ts, 5, 43))
>arg2 : Symbol(arg2, Decl(awaitCallExpression6_es5.ts, 5, 58))
declare function before(): void;
>before : Symbol(before, Decl(awaitCallExpression6_es5.ts, 5, 84))
declare function after(): void;
>after : Symbol(after, Decl(awaitCallExpression6_es5.ts, 6, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitCallExpression6_es5.ts, 7, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitCallExpression6_es5.ts, 5, 84))
var b = o.fn(await p, a, a);
>b : Symbol(b, Decl(awaitCallExpression6_es5.ts, 10, 7))
>o.fn : Symbol(fn, Decl(awaitCallExpression6_es5.ts, 3, 16))
>o : Symbol(o, Decl(awaitCallExpression6_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression6_es5.ts, 3, 16))
>p : Symbol(p, Decl(awaitCallExpression6_es5.ts, 1, 11))
>a : Symbol(a, Decl(awaitCallExpression6_es5.ts, 0, 11))
>a : Symbol(a, Decl(awaitCallExpression6_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitCallExpression6_es5.ts, 6, 32))
}
@@ -0,0 +1,65 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression6_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
>Promise : Promise<T>
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
>Promise : Promise<T>
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = o.fn(await p, a, a);
>b : void
>o.fn(await p, a, a) : void
>o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>await p : boolean
>p : Promise<boolean>
>a : boolean
>a : boolean
after();
>after() : void
>after : () => void
}
@@ -0,0 +1,34 @@
//// [awaitCallExpression7_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = o.fn(a, await p, a);
after();
}
//// [awaitCallExpression7_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b, _a, _b, _c;
return __generator(function (_d) {
switch (_d.label) {
case 0:
before();
_b = (_a = o).fn;
_c = [a];
return [4 /*yield*/, p];
case 1:
b = _b.apply(_a, _c.concat([_d.sent(), a]));
after();
return [2 /*return*/];
}
});
});
}
@@ -0,0 +1,61 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression7_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitCallExpression7_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitCallExpression7_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : Symbol(fn, Decl(awaitCallExpression7_es5.ts, 1, 32))
>arg0 : Symbol(arg0, Decl(awaitCallExpression7_es5.ts, 2, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression7_es5.ts, 2, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression7_es5.ts, 2, 49))
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : Symbol(o, Decl(awaitCallExpression7_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression7_es5.ts, 3, 16))
>arg0 : Symbol(arg0, Decl(awaitCallExpression7_es5.ts, 3, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression7_es5.ts, 3, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression7_es5.ts, 3, 49))
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Symbol(pfn, Decl(awaitCallExpression7_es5.ts, 4, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>arg0 : Symbol(arg0, Decl(awaitCallExpression7_es5.ts, 4, 28))
>arg1 : Symbol(arg1, Decl(awaitCallExpression7_es5.ts, 4, 42))
>arg2 : Symbol(arg2, Decl(awaitCallExpression7_es5.ts, 4, 57))
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Symbol(po, Decl(awaitCallExpression7_es5.ts, 5, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>fn : Symbol(fn, Decl(awaitCallExpression7_es5.ts, 5, 25))
>arg0 : Symbol(arg0, Decl(awaitCallExpression7_es5.ts, 5, 29))
>arg1 : Symbol(arg1, Decl(awaitCallExpression7_es5.ts, 5, 43))
>arg2 : Symbol(arg2, Decl(awaitCallExpression7_es5.ts, 5, 58))
declare function before(): void;
>before : Symbol(before, Decl(awaitCallExpression7_es5.ts, 5, 84))
declare function after(): void;
>after : Symbol(after, Decl(awaitCallExpression7_es5.ts, 6, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitCallExpression7_es5.ts, 7, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitCallExpression7_es5.ts, 5, 84))
var b = o.fn(a, await p, a);
>b : Symbol(b, Decl(awaitCallExpression7_es5.ts, 10, 7))
>o.fn : Symbol(fn, Decl(awaitCallExpression7_es5.ts, 3, 16))
>o : Symbol(o, Decl(awaitCallExpression7_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression7_es5.ts, 3, 16))
>a : Symbol(a, Decl(awaitCallExpression7_es5.ts, 0, 11))
>p : Symbol(p, Decl(awaitCallExpression7_es5.ts, 1, 11))
>a : Symbol(a, Decl(awaitCallExpression7_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitCallExpression7_es5.ts, 6, 32))
}
@@ -0,0 +1,65 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression7_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
>Promise : Promise<T>
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
>Promise : Promise<T>
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = o.fn(a, await p, a);
>b : void
>o.fn(a, await p, a) : void
>o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>a : boolean
>await p : boolean
>p : Promise<boolean>
>a : boolean
after();
>after() : void
>after : () => void
}
@@ -0,0 +1,32 @@
//// [awaitCallExpression8_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = (await po).fn(a, a, a);
after();
}
//// [awaitCallExpression8_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b;
return __generator(function (_a) {
switch (_a.label) {
case 0:
before();
return [4 /*yield*/, po];
case 1:
b = (_a.sent()).fn(a, a, a);
after();
return [2 /*return*/];
}
});
});
}
@@ -0,0 +1,61 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression8_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitCallExpression8_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitCallExpression8_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : Symbol(fn, Decl(awaitCallExpression8_es5.ts, 1, 32))
>arg0 : Symbol(arg0, Decl(awaitCallExpression8_es5.ts, 2, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression8_es5.ts, 2, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression8_es5.ts, 2, 49))
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : Symbol(o, Decl(awaitCallExpression8_es5.ts, 3, 11))
>fn : Symbol(fn, Decl(awaitCallExpression8_es5.ts, 3, 16))
>arg0 : Symbol(arg0, Decl(awaitCallExpression8_es5.ts, 3, 20))
>arg1 : Symbol(arg1, Decl(awaitCallExpression8_es5.ts, 3, 34))
>arg2 : Symbol(arg2, Decl(awaitCallExpression8_es5.ts, 3, 49))
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Symbol(pfn, Decl(awaitCallExpression8_es5.ts, 4, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>arg0 : Symbol(arg0, Decl(awaitCallExpression8_es5.ts, 4, 28))
>arg1 : Symbol(arg1, Decl(awaitCallExpression8_es5.ts, 4, 42))
>arg2 : Symbol(arg2, Decl(awaitCallExpression8_es5.ts, 4, 57))
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Symbol(po, Decl(awaitCallExpression8_es5.ts, 5, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>fn : Symbol(fn, Decl(awaitCallExpression8_es5.ts, 5, 25))
>arg0 : Symbol(arg0, Decl(awaitCallExpression8_es5.ts, 5, 29))
>arg1 : Symbol(arg1, Decl(awaitCallExpression8_es5.ts, 5, 43))
>arg2 : Symbol(arg2, Decl(awaitCallExpression8_es5.ts, 5, 58))
declare function before(): void;
>before : Symbol(before, Decl(awaitCallExpression8_es5.ts, 5, 84))
declare function after(): void;
>after : Symbol(after, Decl(awaitCallExpression8_es5.ts, 6, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitCallExpression8_es5.ts, 7, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitCallExpression8_es5.ts, 5, 84))
var b = (await po).fn(a, a, a);
>b : Symbol(b, Decl(awaitCallExpression8_es5.ts, 10, 7))
>(await po).fn : Symbol(fn, Decl(awaitCallExpression8_es5.ts, 5, 25))
>po : Symbol(po, Decl(awaitCallExpression8_es5.ts, 5, 11))
>fn : Symbol(fn, Decl(awaitCallExpression8_es5.ts, 5, 25))
>a : Symbol(a, Decl(awaitCallExpression8_es5.ts, 0, 11))
>a : Symbol(a, Decl(awaitCallExpression8_es5.ts, 0, 11))
>a : Symbol(a, Decl(awaitCallExpression8_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitCallExpression8_es5.ts, 6, 32))
}
@@ -0,0 +1,66 @@
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression8_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
>Promise : Promise<T>
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
>Promise : Promise<T>
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>arg0 : boolean
>arg1 : boolean
>arg2 : boolean
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = (await po).fn(a, a, a);
>b : void
>(await po).fn(a, a, a) : void
>(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
>a : boolean
>a : boolean
>a : boolean
after();
>after() : void
>after : () => void
}
@@ -0,0 +1,16 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = fn(a, a, a);
after();
}
@@ -0,0 +1,16 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = fn(await p, a, a);
after();
}
@@ -0,0 +1,16 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = fn(a, await p, a);
after();
}
@@ -0,0 +1,16 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = (await pfn)(a, a, a);
after();
}
@@ -0,0 +1,16 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = o.fn(a, a, a);
after();
}
@@ -0,0 +1,16 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = o.fn(await p, a, a);
after();
}
@@ -0,0 +1,16 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = o.fn(a, await p, a);
after();
}
@@ -0,0 +1,16 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = (await po).fn(a, a, a);
after();
}