TypeScript/tests/baselines/reference/extendedInterfaceGenericType.types
2015-04-15 16:44:20 -07:00

42 lines
957 B
Plaintext

=== tests/cases/compiler/extendedInterfaceGenericType.ts ===
interface Alpha<T> {
>Alpha : Alpha<T>
>T : T
takesArgOfT(arg: T): Alpha<T>;
>takesArgOfT : (arg: T) => Alpha<T>
>arg : T
>T : T
>Alpha : Alpha<T>
>T : T
makeBetaOfNumber(): Beta<number>;
>makeBetaOfNumber : () => Beta<number>
>Beta : Beta<T>
}
interface Beta<T> extends Alpha<T> {
>Beta : Beta<T>
>T : T
>Alpha : Alpha<T>
>T : T
}
var alpha: Alpha<number>;
>alpha : Alpha<number>
>Alpha : Alpha<T>
var betaOfNumber = alpha.makeBetaOfNumber();
>betaOfNumber : Beta<number>
>alpha.makeBetaOfNumber() : Beta<number>
>alpha.makeBetaOfNumber : () => Beta<number>
>alpha : Alpha<number>
>makeBetaOfNumber : () => Beta<number>
betaOfNumber.takesArgOfT(5);
>betaOfNumber.takesArgOfT(5) : Alpha<number>
>betaOfNumber.takesArgOfT : (arg: number) => Alpha<number>
>betaOfNumber : Beta<number>
>takesArgOfT : (arg: number) => Alpha<number>
>5 : number