1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
=== tests/cases/conformance/expressions/contextualTyping/superCallParameterContextualTyping1.ts ===
class A<T1, T2> {
>A : Symbol(A, Decl(superCallParameterContextualTyping1.ts, 0, 0))
>T1 : Symbol(T1, Decl(superCallParameterContextualTyping1.ts, 0, 8))
>T2 : Symbol(T2, Decl(superCallParameterContextualTyping1.ts, 0, 11))
constructor(private map: (value: T1) => T2) {
>map : Symbol(A.map, Decl(superCallParameterContextualTyping1.ts, 1, 16))
>value : Symbol(value, Decl(superCallParameterContextualTyping1.ts, 1, 30))
>T1 : Symbol(T1, Decl(superCallParameterContextualTyping1.ts, 0, 8))
>T2 : Symbol(T2, Decl(superCallParameterContextualTyping1.ts, 0, 11))
}
}
class B extends A<number, string> {
>B : Symbol(B, Decl(superCallParameterContextualTyping1.ts, 4, 1))
>A : Symbol(A, Decl(superCallParameterContextualTyping1.ts, 0, 0))
// Ensure 'value' is of type 'number (and not '{}') by using its 'toExponential()' method.
constructor() { super(value => String(value.toExponential())); }
>super : Symbol(A, Decl(superCallParameterContextualTyping1.ts, 0, 0))
>value : Symbol(value, Decl(superCallParameterContextualTyping1.ts, 8, 26))
>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>value.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --))
>value : Symbol(value, Decl(superCallParameterContextualTyping1.ts, 8, 26))
>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --))
}
|