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

49 lines
1.7 KiB
Plaintext

=== tests/cases/compiler/genericClasses3.ts ===
class B<T> {
>B : B<T>, Symbol(B, Decl(genericClasses3.ts, 0, 0))
>T : T, Symbol(T, Decl(genericClasses3.ts, 0, 8))
a: T;
>a : T, Symbol(a, Decl(genericClasses3.ts, 0, 12))
>T : T, Symbol(T, Decl(genericClasses3.ts, 0, 8))
b: T;
>b : T, Symbol(b, Decl(genericClasses3.ts, 1, 9))
>T : T, Symbol(T, Decl(genericClasses3.ts, 0, 8))
}
class C<T> extends B<T> {
>C : C<T>, Symbol(C, Decl(genericClasses3.ts, 3, 1))
>T : T, Symbol(T, Decl(genericClasses3.ts, 5, 8))
>B : B<T>, Symbol(B, Decl(genericClasses3.ts, 0, 0))
>T : T, Symbol(T, Decl(genericClasses3.ts, 5, 8))
public x: T;
>x : T, Symbol(x, Decl(genericClasses3.ts, 5, 25))
>T : T, Symbol(T, Decl(genericClasses3.ts, 5, 8))
}
var v2: C <string>;
>v2 : C<string>, Symbol(v2, Decl(genericClasses3.ts, 9, 3))
>C : C<T>, Symbol(C, Decl(genericClasses3.ts, 3, 1))
var y = v2.x; // should be 'string'
>y : string, Symbol(y, Decl(genericClasses3.ts, 11, 3))
>v2.x : string, Symbol(C.x, Decl(genericClasses3.ts, 5, 25))
>v2 : C<string>, Symbol(v2, Decl(genericClasses3.ts, 9, 3))
>x : string, Symbol(C.x, Decl(genericClasses3.ts, 5, 25))
var u = v2.a; // should be 'string'
>u : string, Symbol(u, Decl(genericClasses3.ts, 12, 3))
>v2.a : string, Symbol(B.a, Decl(genericClasses3.ts, 0, 12))
>v2 : C<string>, Symbol(v2, Decl(genericClasses3.ts, 9, 3))
>a : string, Symbol(B.a, Decl(genericClasses3.ts, 0, 12))
var z = v2.b;
>z : string, Symbol(z, Decl(genericClasses3.ts, 14, 3))
>v2.b : string, Symbol(B.b, Decl(genericClasses3.ts, 1, 9))
>v2 : C<string>, Symbol(v2, Decl(genericClasses3.ts, 9, 3))
>b : string, Symbol(B.b, Decl(genericClasses3.ts, 1, 9))