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

64 lines
1.8 KiB
Plaintext

=== tests/cases/compiler/hidingConstructSignatures.ts ===
interface C {
>C : C, Symbol(C, Decl(hidingConstructSignatures.ts, 0, 0))
(a: string): string;
>a : string, Symbol(a, Decl(hidingConstructSignatures.ts, 1, 5))
}
interface D extends C {
>D : D, Symbol(D, Decl(hidingConstructSignatures.ts, 2, 1))
>C : C, Symbol(C, Decl(hidingConstructSignatures.ts, 0, 0))
new (a: string): number; // Should be ok
>a : string, Symbol(a, Decl(hidingConstructSignatures.ts, 5, 9))
}
interface E {
>E : E, Symbol(E, Decl(hidingConstructSignatures.ts, 6, 1))
new (a: string): {};
>a : string, Symbol(a, Decl(hidingConstructSignatures.ts, 9, 9))
}
interface F extends E {
>F : F, Symbol(F, Decl(hidingConstructSignatures.ts, 10, 1))
>E : E, Symbol(E, Decl(hidingConstructSignatures.ts, 6, 1))
new (a: string): string;
>a : string, Symbol(a, Decl(hidingConstructSignatures.ts, 13, 9))
}
var d: D;
>d : D, Symbol(d, Decl(hidingConstructSignatures.ts, 16, 3))
>D : D, Symbol(D, Decl(hidingConstructSignatures.ts, 2, 1))
d(""); // string
>d("") : string
>d : D, Symbol(d, Decl(hidingConstructSignatures.ts, 16, 3))
>"" : string
new d(""); // should be number
>new d("") : number
>d : D, Symbol(d, Decl(hidingConstructSignatures.ts, 16, 3))
>"" : string
var f: F;
>f : F, Symbol(f, Decl(hidingConstructSignatures.ts, 20, 3))
>F : F, Symbol(F, Decl(hidingConstructSignatures.ts, 10, 1))
new f(""); // string
>new f("") : string
>f : F, Symbol(f, Decl(hidingConstructSignatures.ts, 20, 3))
>"" : string
var e: E;
>e : E, Symbol(e, Decl(hidingConstructSignatures.ts, 23, 3))
>E : E, Symbol(E, Decl(hidingConstructSignatures.ts, 6, 1))
new e(""); // {}
>new e("") : {}
>e : E, Symbol(e, Decl(hidingConstructSignatures.ts, 23, 3))
>"" : string