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

42 lines
2.5 KiB
Plaintext

=== tests/cases/compiler/overloadOnConstConstraintChecks3.ts ===
class A { private x = 1}
>A : A, Symbol(A, Decl(overloadOnConstConstraintChecks3.ts, 0, 0))
>x : number, Symbol(x, Decl(overloadOnConstConstraintChecks3.ts, 0, 9))
>1 : number
class B extends A {}
>B : B, Symbol(B, Decl(overloadOnConstConstraintChecks3.ts, 0, 24))
>A : A, Symbol(A, Decl(overloadOnConstConstraintChecks3.ts, 0, 0))
class C extends A {
>C : C, Symbol(C, Decl(overloadOnConstConstraintChecks3.ts, 1, 20))
>A : A, Symbol(A, Decl(overloadOnConstConstraintChecks3.ts, 0, 0))
public foo() { }
>foo : () => void, Symbol(foo, Decl(overloadOnConstConstraintChecks3.ts, 2, 19))
}
function foo(name: 'hi'): B;
>foo : { (name: 'hi'): B; (name: 'bye'): C; (name: string): A; }, Symbol(foo, Decl(overloadOnConstConstraintChecks3.ts, 4, 1), Decl(overloadOnConstConstraintChecks3.ts, 5, 28), Decl(overloadOnConstConstraintChecks3.ts, 6, 29), Decl(overloadOnConstConstraintChecks3.ts, 7, 30))
>name : 'hi', Symbol(name, Decl(overloadOnConstConstraintChecks3.ts, 5, 13))
>B : B, Symbol(B, Decl(overloadOnConstConstraintChecks3.ts, 0, 24))
function foo(name: 'bye'): C;
>foo : { (name: 'hi'): B; (name: 'bye'): C; (name: string): A; }, Symbol(foo, Decl(overloadOnConstConstraintChecks3.ts, 4, 1), Decl(overloadOnConstConstraintChecks3.ts, 5, 28), Decl(overloadOnConstConstraintChecks3.ts, 6, 29), Decl(overloadOnConstConstraintChecks3.ts, 7, 30))
>name : 'bye', Symbol(name, Decl(overloadOnConstConstraintChecks3.ts, 6, 13))
>C : C, Symbol(C, Decl(overloadOnConstConstraintChecks3.ts, 1, 20))
function foo(name: string): A;
>foo : { (name: 'hi'): B; (name: 'bye'): C; (name: string): A; }, Symbol(foo, Decl(overloadOnConstConstraintChecks3.ts, 4, 1), Decl(overloadOnConstConstraintChecks3.ts, 5, 28), Decl(overloadOnConstConstraintChecks3.ts, 6, 29), Decl(overloadOnConstConstraintChecks3.ts, 7, 30))
>name : string, Symbol(name, Decl(overloadOnConstConstraintChecks3.ts, 7, 13))
>A : A, Symbol(A, Decl(overloadOnConstConstraintChecks3.ts, 0, 0))
function foo(name: any): A {
>foo : { (name: 'hi'): B; (name: 'bye'): C; (name: string): A; }, Symbol(foo, Decl(overloadOnConstConstraintChecks3.ts, 4, 1), Decl(overloadOnConstConstraintChecks3.ts, 5, 28), Decl(overloadOnConstConstraintChecks3.ts, 6, 29), Decl(overloadOnConstConstraintChecks3.ts, 7, 30))
>name : any, Symbol(name, Decl(overloadOnConstConstraintChecks3.ts, 8, 13))
>A : A, Symbol(A, Decl(overloadOnConstConstraintChecks3.ts, 0, 0))
return null;
>null : null
}