59 lines
2.9 KiB
Plaintext
59 lines
2.9 KiB
Plaintext
=== tests/cases/compiler/promiseTest.ts ===
|
|
|
|
interface Promise<T> {
|
|
>Promise : Promise<T>, Symbol(Promise, Decl(promiseTest.ts, 0, 0))
|
|
>T : T, Symbol(T, Decl(promiseTest.ts, 1, 18))
|
|
|
|
then<A>(success?: (value: T) => Promise<A>): Promise<A>;
|
|
>then : { <A>(success?: (value: T) => Promise<A>): Promise<A>; <B>(success?: (value: T) => B): Promise<B>; }, Symbol(then, Decl(promiseTest.ts, 1, 22), Decl(promiseTest.ts, 2, 60))
|
|
>A : A, Symbol(A, Decl(promiseTest.ts, 2, 9))
|
|
>success : (value: T) => Promise<A>, Symbol(success, Decl(promiseTest.ts, 2, 12))
|
|
>value : T, Symbol(value, Decl(promiseTest.ts, 2, 23))
|
|
>T : T, Symbol(T, Decl(promiseTest.ts, 1, 18))
|
|
>Promise : Promise<T>, Symbol(Promise, Decl(promiseTest.ts, 0, 0))
|
|
>A : A, Symbol(A, Decl(promiseTest.ts, 2, 9))
|
|
>Promise : Promise<T>, Symbol(Promise, Decl(promiseTest.ts, 0, 0))
|
|
>A : A, Symbol(A, Decl(promiseTest.ts, 2, 9))
|
|
|
|
then<B>(success?: (value: T) => B): Promise<B>;
|
|
>then : { <A>(success?: (value: T) => Promise<A>): Promise<A>; <B>(success?: (value: T) => B): Promise<B>; }, Symbol(then, Decl(promiseTest.ts, 1, 22), Decl(promiseTest.ts, 2, 60))
|
|
>B : B, Symbol(B, Decl(promiseTest.ts, 3, 9))
|
|
>success : (value: T) => B, Symbol(success, Decl(promiseTest.ts, 3, 12))
|
|
>value : T, Symbol(value, Decl(promiseTest.ts, 3, 23))
|
|
>T : T, Symbol(T, Decl(promiseTest.ts, 1, 18))
|
|
>B : B, Symbol(B, Decl(promiseTest.ts, 3, 9))
|
|
>Promise : Promise<T>, Symbol(Promise, Decl(promiseTest.ts, 0, 0))
|
|
>B : B, Symbol(B, Decl(promiseTest.ts, 3, 9))
|
|
|
|
data: T;
|
|
>data : T, Symbol(data, Decl(promiseTest.ts, 3, 51))
|
|
>T : T, Symbol(T, Decl(promiseTest.ts, 1, 18))
|
|
}
|
|
|
|
var p: Promise<number> = null;
|
|
>p : Promise<number>, Symbol(p, Decl(promiseTest.ts, 7, 3))
|
|
>Promise : Promise<T>, Symbol(Promise, Decl(promiseTest.ts, 0, 0))
|
|
>null : null
|
|
|
|
var p2 = p.then(function (x) {
|
|
>p2 : Promise<number>, Symbol(p2, Decl(promiseTest.ts, 8, 3))
|
|
>p.then(function (x) { return p;} ) : Promise<number>
|
|
>p.then : { <A>(success?: (value: number) => Promise<A>): Promise<A>; <B>(success?: (value: number) => B): Promise<B>; }, Symbol(Promise.then, Decl(promiseTest.ts, 1, 22), Decl(promiseTest.ts, 2, 60))
|
|
>p : Promise<number>, Symbol(p, Decl(promiseTest.ts, 7, 3))
|
|
>then : { <A>(success?: (value: number) => Promise<A>): Promise<A>; <B>(success?: (value: number) => B): Promise<B>; }, Symbol(Promise.then, Decl(promiseTest.ts, 1, 22), Decl(promiseTest.ts, 2, 60))
|
|
>function (x) { return p;} : (x: number) => Promise<number>
|
|
>x : number, Symbol(x, Decl(promiseTest.ts, 8, 26))
|
|
|
|
return p;
|
|
>p : Promise<number>, Symbol(p, Decl(promiseTest.ts, 7, 3))
|
|
|
|
} );
|
|
|
|
var x = p2.data; // number
|
|
>x : number, Symbol(x, Decl(promiseTest.ts, 12, 3))
|
|
>p2.data : number, Symbol(Promise.data, Decl(promiseTest.ts, 3, 51))
|
|
>p2 : Promise<number>, Symbol(p2, Decl(promiseTest.ts, 8, 3))
|
|
>data : number, Symbol(Promise.data, Decl(promiseTest.ts, 3, 51))
|
|
|
|
|