2014-08-15 23:33:16 +02:00
|
|
|
=== tests/cases/compiler/extendedInterfaceGenericType.ts ===
|
|
|
|
interface Alpha<T> {
|
2015-04-13 23:01:57 +02:00
|
|
|
>Alpha : Alpha<T>, Symbol(Alpha, Decl(extendedInterfaceGenericType.ts, 0, 0))
|
|
|
|
>T : T, Symbol(T, Decl(extendedInterfaceGenericType.ts, 0, 16))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
takesArgOfT(arg: T): Alpha<T>;
|
2015-04-13 23:01:57 +02:00
|
|
|
>takesArgOfT : (arg: T) => Alpha<T>, Symbol(takesArgOfT, Decl(extendedInterfaceGenericType.ts, 0, 20))
|
|
|
|
>arg : T, Symbol(arg, Decl(extendedInterfaceGenericType.ts, 1, 16))
|
|
|
|
>T : T, Symbol(T, Decl(extendedInterfaceGenericType.ts, 0, 16))
|
|
|
|
>Alpha : Alpha<T>, Symbol(Alpha, Decl(extendedInterfaceGenericType.ts, 0, 0))
|
|
|
|
>T : T, Symbol(T, Decl(extendedInterfaceGenericType.ts, 0, 16))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
makeBetaOfNumber(): Beta<number>;
|
2015-04-13 23:01:57 +02:00
|
|
|
>makeBetaOfNumber : () => Beta<number>, Symbol(makeBetaOfNumber, Decl(extendedInterfaceGenericType.ts, 1, 34))
|
|
|
|
>Beta : Beta<T>, Symbol(Beta, Decl(extendedInterfaceGenericType.ts, 3, 1))
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
interface Beta<T> extends Alpha<T> {
|
2015-04-13 23:01:57 +02:00
|
|
|
>Beta : Beta<T>, Symbol(Beta, Decl(extendedInterfaceGenericType.ts, 3, 1))
|
|
|
|
>T : T, Symbol(T, Decl(extendedInterfaceGenericType.ts, 4, 15))
|
|
|
|
>Alpha : Alpha<T>, Symbol(Alpha, Decl(extendedInterfaceGenericType.ts, 0, 0))
|
|
|
|
>T : T, Symbol(T, Decl(extendedInterfaceGenericType.ts, 4, 15))
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
var alpha: Alpha<number>;
|
2015-04-13 23:01:57 +02:00
|
|
|
>alpha : Alpha<number>, Symbol(alpha, Decl(extendedInterfaceGenericType.ts, 7, 3))
|
|
|
|
>Alpha : Alpha<T>, Symbol(Alpha, Decl(extendedInterfaceGenericType.ts, 0, 0))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
var betaOfNumber = alpha.makeBetaOfNumber();
|
2015-04-13 23:01:57 +02:00
|
|
|
>betaOfNumber : Beta<number>, Symbol(betaOfNumber, Decl(extendedInterfaceGenericType.ts, 8, 3))
|
2014-08-15 23:33:16 +02:00
|
|
|
>alpha.makeBetaOfNumber() : Beta<number>
|
2015-04-13 23:01:57 +02:00
|
|
|
>alpha.makeBetaOfNumber : () => Beta<number>, Symbol(Alpha.makeBetaOfNumber, Decl(extendedInterfaceGenericType.ts, 1, 34))
|
|
|
|
>alpha : Alpha<number>, Symbol(alpha, Decl(extendedInterfaceGenericType.ts, 7, 3))
|
|
|
|
>makeBetaOfNumber : () => Beta<number>, Symbol(Alpha.makeBetaOfNumber, Decl(extendedInterfaceGenericType.ts, 1, 34))
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
betaOfNumber.takesArgOfT(5);
|
|
|
|
>betaOfNumber.takesArgOfT(5) : Alpha<number>
|
2015-04-13 23:01:57 +02:00
|
|
|
>betaOfNumber.takesArgOfT : (arg: number) => Alpha<number>, Symbol(Alpha.takesArgOfT, Decl(extendedInterfaceGenericType.ts, 0, 20))
|
|
|
|
>betaOfNumber : Beta<number>, Symbol(betaOfNumber, Decl(extendedInterfaceGenericType.ts, 8, 3))
|
|
|
|
>takesArgOfT : (arg: number) => Alpha<number>, Symbol(Alpha.takesArgOfT, Decl(extendedInterfaceGenericType.ts, 0, 20))
|
2015-04-13 21:36:11 +02:00
|
|
|
>5 : number
|
2014-08-15 23:33:16 +02:00
|
|
|
|