TypeScript/tests/baselines/reference/infinitelyExpandingTypes4.types
2015-04-13 14:29:37 -07:00

76 lines
3.7 KiB
Plaintext

=== tests/cases/compiler/infinitelyExpandingTypes4.ts ===
interface Query<T> {
>Query : Query<T>, Symbol(Query, Decl(infinitelyExpandingTypes4.ts, 0, 0))
>T : T, Symbol(T, Decl(infinitelyExpandingTypes4.ts, 0, 16))
// ...
groupBy<K>(keySelector: (item: T) => K): Query<Grouping<K, T>>;
>groupBy : <K>(keySelector: (item: T) => K) => Query<Grouping<K, T>>, Symbol(groupBy, Decl(infinitelyExpandingTypes4.ts, 0, 20))
>K : K, Symbol(K, Decl(infinitelyExpandingTypes4.ts, 2, 12))
>keySelector : (item: T) => K, Symbol(keySelector, Decl(infinitelyExpandingTypes4.ts, 2, 15))
>item : T, Symbol(item, Decl(infinitelyExpandingTypes4.ts, 2, 29))
>T : T, Symbol(T, Decl(infinitelyExpandingTypes4.ts, 0, 16))
>K : K, Symbol(K, Decl(infinitelyExpandingTypes4.ts, 2, 12))
>Query : Query<T>, Symbol(Query, Decl(infinitelyExpandingTypes4.ts, 0, 0))
>Grouping : Grouping<K, T>, Symbol(Grouping, Decl(infinitelyExpandingTypes4.ts, 10, 1))
>K : K, Symbol(K, Decl(infinitelyExpandingTypes4.ts, 2, 12))
>T : T, Symbol(T, Decl(infinitelyExpandingTypes4.ts, 0, 16))
// ...
}
interface QueryEnumerator<T> {
>QueryEnumerator : QueryEnumerator<T>, Symbol(QueryEnumerator, Decl(infinitelyExpandingTypes4.ts, 4, 1))
>T : T, Symbol(T, Decl(infinitelyExpandingTypes4.ts, 6, 26))
// ...
groupBy<K>(keySelector: (item: T) => K): QueryEnumerator<Grouping<K, T>>;
>groupBy : <K>(keySelector: (item: T) => K) => QueryEnumerator<Grouping<K, T>>, Symbol(groupBy, Decl(infinitelyExpandingTypes4.ts, 6, 30))
>K : K, Symbol(K, Decl(infinitelyExpandingTypes4.ts, 8, 12))
>keySelector : (item: T) => K, Symbol(keySelector, Decl(infinitelyExpandingTypes4.ts, 8, 15))
>item : T, Symbol(item, Decl(infinitelyExpandingTypes4.ts, 8, 29))
>T : T, Symbol(T, Decl(infinitelyExpandingTypes4.ts, 6, 26))
>K : K, Symbol(K, Decl(infinitelyExpandingTypes4.ts, 8, 12))
>QueryEnumerator : QueryEnumerator<T>, Symbol(QueryEnumerator, Decl(infinitelyExpandingTypes4.ts, 4, 1))
>Grouping : Grouping<K, T>, Symbol(Grouping, Decl(infinitelyExpandingTypes4.ts, 10, 1))
>K : K, Symbol(K, Decl(infinitelyExpandingTypes4.ts, 8, 12))
>T : T, Symbol(T, Decl(infinitelyExpandingTypes4.ts, 6, 26))
// ...
}
interface Grouping<K, T> extends Query<T> {
>Grouping : Grouping<K, T>, Symbol(Grouping, Decl(infinitelyExpandingTypes4.ts, 10, 1))
>K : K, Symbol(K, Decl(infinitelyExpandingTypes4.ts, 12, 19))
>T : T, Symbol(T, Decl(infinitelyExpandingTypes4.ts, 12, 21))
>Query : Query<T>, Symbol(Query, Decl(infinitelyExpandingTypes4.ts, 0, 0))
>T : T, Symbol(T, Decl(infinitelyExpandingTypes4.ts, 12, 21))
key(): K;
>key : () => K, Symbol(key, Decl(infinitelyExpandingTypes4.ts, 12, 43))
>K : K, Symbol(K, Decl(infinitelyExpandingTypes4.ts, 12, 19))
}
var q1: Query<number>;
>q1 : Query<number>, Symbol(q1, Decl(infinitelyExpandingTypes4.ts, 16, 3))
>Query : Query<T>, Symbol(Query, Decl(infinitelyExpandingTypes4.ts, 0, 0))
var q2: QueryEnumerator<number>;
>q2 : QueryEnumerator<number>, Symbol(q2, Decl(infinitelyExpandingTypes4.ts, 17, 3))
>QueryEnumerator : QueryEnumerator<T>, Symbol(QueryEnumerator, Decl(infinitelyExpandingTypes4.ts, 4, 1))
var q3: Query<number>;
>q3 : Query<number>, Symbol(q3, Decl(infinitelyExpandingTypes4.ts, 18, 3))
>Query : Query<T>, Symbol(Query, Decl(infinitelyExpandingTypes4.ts, 0, 0))
q1 = q2; // should error
>q1 = q2 : QueryEnumerator<number>
>q1 : Query<number>, Symbol(q1, Decl(infinitelyExpandingTypes4.ts, 16, 3))
>q2 : QueryEnumerator<number>, Symbol(q2, Decl(infinitelyExpandingTypes4.ts, 17, 3))
q1 = q3; // should not error
>q1 = q3 : Query<number>
>q1 : Query<number>, Symbol(q1, Decl(infinitelyExpandingTypes4.ts, 16, 3))
>q3 : Query<number>, Symbol(q3, Decl(infinitelyExpandingTypes4.ts, 18, 3))