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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
=== tests/cases/compiler/propertySignatures.ts ===
// Should be error - duplicate identifiers
var foo1: { a:string; a: string; };
>foo1 : { a: string; }
>a : string
>a : string
// Should be OK
var foo2: { a; };
>foo2 : { a: any; }
>a : any
foo2.a = 2;
>foo2.a = 2 : 2
>foo2.a : any
>foo2 : { a: any; }
>a : any
>2 : 2
foo2.a = "0";
>foo2.a = "0" : "0"
>foo2.a : any
>foo2 : { a: any; }
>a : any
>"0" : "0"
// Should be error
var foo3: { (): string; (): string; };
>foo3 : { (): string; (): string; }
// Should be OK
var foo4: { (): void; };
>foo4 : () => void
var test = foo();
>test : any
>foo() : any
>foo : any
// Should be OK
var foo5: {();};
>foo5 : () => any
var test = foo5();
>test : any
>foo5() : any
>foo5 : () => any
test.bar = 2;
>test.bar = 2 : 2
>test.bar : any
>test : any
>bar : any
>2 : 2
|