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

58 lines
3.1 KiB
Plaintext

=== tests/cases/compiler/contextualTypingOfConditionalExpression.ts ===
var x: (a: number) => void = true ? (a) => a.toExponential() : (b) => b.toFixed();
>x : (a: number) => void, Symbol(x, Decl(contextualTypingOfConditionalExpression.ts, 0, 3))
>a : number, Symbol(a, Decl(contextualTypingOfConditionalExpression.ts, 0, 8))
>true ? (a) => a.toExponential() : (b) => b.toFixed() : (a: number) => string
>true : boolean
>(a) => a.toExponential() : (a: number) => string
>a : number, Symbol(a, Decl(contextualTypingOfConditionalExpression.ts, 0, 37))
>a.toExponential() : string
>a.toExponential : (fractionDigits?: number) => string, Symbol(Number.toExponential, Decl(lib.d.ts, 469, 45))
>a : number, Symbol(a, Decl(contextualTypingOfConditionalExpression.ts, 0, 37))
>toExponential : (fractionDigits?: number) => string, Symbol(Number.toExponential, Decl(lib.d.ts, 469, 45))
>(b) => b.toFixed() : (b: number) => string
>b : number, Symbol(b, Decl(contextualTypingOfConditionalExpression.ts, 0, 64))
>b.toFixed() : string
>b.toFixed : (fractionDigits?: number) => string, Symbol(Number.toFixed, Decl(lib.d.ts, 463, 37))
>b : number, Symbol(b, Decl(contextualTypingOfConditionalExpression.ts, 0, 64))
>toFixed : (fractionDigits?: number) => string, Symbol(Number.toFixed, Decl(lib.d.ts, 463, 37))
class A {
>A : A, Symbol(A, Decl(contextualTypingOfConditionalExpression.ts, 0, 82))
foo: number;
>foo : number, Symbol(foo, Decl(contextualTypingOfConditionalExpression.ts, 2, 9))
}
class B extends A {
>B : B, Symbol(B, Decl(contextualTypingOfConditionalExpression.ts, 4, 1))
>A : A, Symbol(A, Decl(contextualTypingOfConditionalExpression.ts, 0, 82))
bar: number;
>bar : number, Symbol(bar, Decl(contextualTypingOfConditionalExpression.ts, 5, 19))
}
class C extends A {
>C : C, Symbol(C, Decl(contextualTypingOfConditionalExpression.ts, 7, 1))
>A : A, Symbol(A, Decl(contextualTypingOfConditionalExpression.ts, 0, 82))
baz: number;
>baz : number, Symbol(baz, Decl(contextualTypingOfConditionalExpression.ts, 8, 19))
}
var x2: (a: A) => void = true ? (a) => a.foo : (b) => b.foo;
>x2 : (a: A) => void, Symbol(x2, Decl(contextualTypingOfConditionalExpression.ts, 12, 3))
>a : A, Symbol(a, Decl(contextualTypingOfConditionalExpression.ts, 12, 9))
>A : A, Symbol(A, Decl(contextualTypingOfConditionalExpression.ts, 0, 82))
>true ? (a) => a.foo : (b) => b.foo : (a: A) => number
>true : boolean
>(a) => a.foo : (a: A) => number
>a : A, Symbol(a, Decl(contextualTypingOfConditionalExpression.ts, 12, 33))
>a.foo : number, Symbol(A.foo, Decl(contextualTypingOfConditionalExpression.ts, 2, 9))
>a : A, Symbol(a, Decl(contextualTypingOfConditionalExpression.ts, 12, 33))
>foo : number, Symbol(A.foo, Decl(contextualTypingOfConditionalExpression.ts, 2, 9))
>(b) => b.foo : (b: A) => number
>b : A, Symbol(b, Decl(contextualTypingOfConditionalExpression.ts, 12, 48))
>b.foo : number, Symbol(A.foo, Decl(contextualTypingOfConditionalExpression.ts, 2, 9))
>b : A, Symbol(b, Decl(contextualTypingOfConditionalExpression.ts, 12, 48))
>foo : number, Symbol(A.foo, Decl(contextualTypingOfConditionalExpression.ts, 2, 9))