=== tests/cases/compiler/arrayconcat.ts === interface IOptions { >IOptions : IOptions, Symbol(IOptions, Decl(arrayconcat.ts, 0, 0)) name?: string; >name : string, Symbol(name, Decl(arrayconcat.ts, 0, 20)) flag?: boolean; >flag : boolean, Symbol(flag, Decl(arrayconcat.ts, 1, 18)) short?: string; >short : string, Symbol(short, Decl(arrayconcat.ts, 2, 19)) usage?: string; >usage : string, Symbol(usage, Decl(arrayconcat.ts, 3, 19)) set?: (s: string) => void; >set : (s: string) => void, Symbol(set, Decl(arrayconcat.ts, 4, 19)) >s : string, Symbol(s, Decl(arrayconcat.ts, 5, 11)) type?: string; >type : string, Symbol(type, Decl(arrayconcat.ts, 5, 30)) experimental?: boolean; >experimental : boolean, Symbol(experimental, Decl(arrayconcat.ts, 6, 18)) } class parser { >parser : parser, Symbol(parser, Decl(arrayconcat.ts, 8, 1)) public options: IOptions[]; >options : IOptions[], Symbol(options, Decl(arrayconcat.ts, 10, 14)) >IOptions : IOptions, Symbol(IOptions, Decl(arrayconcat.ts, 0, 0)) public m() { >m : () => void, Symbol(m, Decl(arrayconcat.ts, 11, 28)) this.options = this.options.sort(function(a, b) { >this.options = this.options.sort(function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } }) : IOptions[] >this.options : IOptions[], Symbol(options, Decl(arrayconcat.ts, 10, 14)) >this : parser, Symbol(parser, Decl(arrayconcat.ts, 8, 1)) >options : IOptions[], Symbol(options, Decl(arrayconcat.ts, 10, 14)) >this.options.sort(function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } }) : IOptions[] >this.options.sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[], Symbol(Array.sort, Decl(lib.d.ts, 1054, 45)) >this.options : IOptions[], Symbol(options, Decl(arrayconcat.ts, 10, 14)) >this : parser, Symbol(parser, Decl(arrayconcat.ts, 8, 1)) >options : IOptions[], Symbol(options, Decl(arrayconcat.ts, 10, 14)) >sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[], Symbol(Array.sort, Decl(lib.d.ts, 1054, 45)) >function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } } : (a: IOptions, b: IOptions) => number >a : IOptions, Symbol(a, Decl(arrayconcat.ts, 14, 44)) >b : IOptions, Symbol(b, Decl(arrayconcat.ts, 14, 46)) var aName = a.name.toLowerCase(); >aName : string, Symbol(aName, Decl(arrayconcat.ts, 15, 15)) >a.name.toLowerCase() : string >a.name.toLowerCase : () => string, Symbol(String.toLowerCase, Decl(lib.d.ts, 399, 51)) >a.name : string, Symbol(IOptions.name, Decl(arrayconcat.ts, 0, 20)) >a : IOptions, Symbol(a, Decl(arrayconcat.ts, 14, 44)) >name : string, Symbol(IOptions.name, Decl(arrayconcat.ts, 0, 20)) >toLowerCase : () => string, Symbol(String.toLowerCase, Decl(lib.d.ts, 399, 51)) var bName = b.name.toLowerCase(); >bName : string, Symbol(bName, Decl(arrayconcat.ts, 16, 15)) >b.name.toLowerCase() : string >b.name.toLowerCase : () => string, Symbol(String.toLowerCase, Decl(lib.d.ts, 399, 51)) >b.name : string, Symbol(IOptions.name, Decl(arrayconcat.ts, 0, 20)) >b : IOptions, Symbol(b, Decl(arrayconcat.ts, 14, 46)) >name : string, Symbol(IOptions.name, Decl(arrayconcat.ts, 0, 20)) >toLowerCase : () => string, Symbol(String.toLowerCase, Decl(lib.d.ts, 399, 51)) if (aName > bName) { >aName > bName : boolean >aName : string, Symbol(aName, Decl(arrayconcat.ts, 15, 15)) >bName : string, Symbol(bName, Decl(arrayconcat.ts, 16, 15)) return 1; >1 : number } else if (aName < bName) { >aName < bName : boolean >aName : string, Symbol(aName, Decl(arrayconcat.ts, 15, 15)) >bName : string, Symbol(bName, Decl(arrayconcat.ts, 16, 15)) return -1; >-1 : number >1 : number } else { return 0; >0 : number } }); } }