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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
=== tests/cases/compiler/arraySigChecking.ts ===
declare module M {
>M : typeof M
interface iBar { t: any; }
>t : any
interface iFoo extends iBar {
s: any;
>s : any
}
class cFoo {
>cFoo : cFoo
t: any;
>t : any
}
var foo: { [index: any]; }; // expect an error here
>foo : {}
>index : any
}
interface myInt {
voidFn(): void;
>voidFn : () => void
}
var myVar: myInt;
>myVar : myInt
var strArray: string[] = [myVar.voidFn()];
>strArray : string[]
>[myVar.voidFn()] : void[]
>myVar.voidFn() : void
>myVar.voidFn : () => void
>myVar : myInt
>voidFn : () => void
var myArray: number[][][];
>myArray : number[][][]
myArray = [[1, 2]];
>myArray = [[1, 2]] : number[][]
>myArray : number[][][]
>[[1, 2]] : number[][]
>[1, 2] : number[]
>1 : 1
>2 : 2
function isEmpty(l: { length: number }) {
>isEmpty : (l: { length: number; }) => boolean
>l : { length: number; }
>length : number
return l.length === 0;
>l.length === 0 : boolean
>l.length : number
>l : { length: number; }
>length : number
>0 : 0
}
isEmpty([]);
>isEmpty([]) : boolean
>isEmpty : (l: { length: number; }) => boolean
>[] : undefined[]
isEmpty(new Array(3));
>isEmpty(new Array(3)) : boolean
>isEmpty : (l: { length: number; }) => boolean
>new Array(3) : any[]
>Array : ArrayConstructor
>3 : 3
isEmpty(new Array<string>(3));
>isEmpty(new Array<string>(3)) : boolean
>isEmpty : (l: { length: number; }) => boolean
>new Array<string>(3) : string[]
>Array : ArrayConstructor
>3 : 3
isEmpty(['a']);
>isEmpty(['a']) : boolean
>isEmpty : (l: { length: number; }) => boolean
>['a'] : string[]
>'a' : "a"
|