=== tests/cases/compiler/commentsOverloads.ts === /** this is signature 1*/ function f1(/**param a*/a: number): number; >f1 : Symbol(f1, Decl(commentsOverloads.ts, 0, 0), Decl(commentsOverloads.ts, 1, 43), Decl(commentsOverloads.ts, 2, 31)) >a : Symbol(a, Decl(commentsOverloads.ts, 1, 12)) function f1(b: string): number; >f1 : Symbol(f1, Decl(commentsOverloads.ts, 0, 0), Decl(commentsOverloads.ts, 1, 43), Decl(commentsOverloads.ts, 2, 31)) >b : Symbol(b, Decl(commentsOverloads.ts, 2, 12)) function f1(aOrb: any) { >f1 : Symbol(f1, Decl(commentsOverloads.ts, 0, 0), Decl(commentsOverloads.ts, 1, 43), Decl(commentsOverloads.ts, 2, 31)) >aOrb : Symbol(aOrb, Decl(commentsOverloads.ts, 3, 12)) return 10; } f1("hello"); >f1 : Symbol(f1, Decl(commentsOverloads.ts, 0, 0), Decl(commentsOverloads.ts, 1, 43), Decl(commentsOverloads.ts, 2, 31)) f1(10); >f1 : Symbol(f1, Decl(commentsOverloads.ts, 0, 0), Decl(commentsOverloads.ts, 1, 43), Decl(commentsOverloads.ts, 2, 31)) function f2(a: number): number; >f2 : Symbol(f2, Decl(commentsOverloads.ts, 7, 7), Decl(commentsOverloads.ts, 8, 31), Decl(commentsOverloads.ts, 10, 31)) >a : Symbol(a, Decl(commentsOverloads.ts, 8, 12)) /** this is signature 2*/ function f2(b: string): number; >f2 : Symbol(f2, Decl(commentsOverloads.ts, 7, 7), Decl(commentsOverloads.ts, 8, 31), Decl(commentsOverloads.ts, 10, 31)) >b : Symbol(b, Decl(commentsOverloads.ts, 10, 12)) /** this is f2 var comment*/ function f2(aOrb: any) { >f2 : Symbol(f2, Decl(commentsOverloads.ts, 7, 7), Decl(commentsOverloads.ts, 8, 31), Decl(commentsOverloads.ts, 10, 31)) >aOrb : Symbol(aOrb, Decl(commentsOverloads.ts, 12, 12)) return 10; } f2("hello"); >f2 : Symbol(f2, Decl(commentsOverloads.ts, 7, 7), Decl(commentsOverloads.ts, 8, 31), Decl(commentsOverloads.ts, 10, 31)) f2(10); >f2 : Symbol(f2, Decl(commentsOverloads.ts, 7, 7), Decl(commentsOverloads.ts, 8, 31), Decl(commentsOverloads.ts, 10, 31)) function f3(a: number): number; >f3 : Symbol(f3, Decl(commentsOverloads.ts, 16, 7), Decl(commentsOverloads.ts, 17, 31), Decl(commentsOverloads.ts, 18, 31)) >a : Symbol(a, Decl(commentsOverloads.ts, 17, 12)) function f3(b: string): number; >f3 : Symbol(f3, Decl(commentsOverloads.ts, 16, 7), Decl(commentsOverloads.ts, 17, 31), Decl(commentsOverloads.ts, 18, 31)) >b : Symbol(b, Decl(commentsOverloads.ts, 18, 12)) function f3(aOrb: any) { >f3 : Symbol(f3, Decl(commentsOverloads.ts, 16, 7), Decl(commentsOverloads.ts, 17, 31), Decl(commentsOverloads.ts, 18, 31)) >aOrb : Symbol(aOrb, Decl(commentsOverloads.ts, 19, 12)) return 10; } f3("hello"); >f3 : Symbol(f3, Decl(commentsOverloads.ts, 16, 7), Decl(commentsOverloads.ts, 17, 31), Decl(commentsOverloads.ts, 18, 31)) f3(10); >f3 : Symbol(f3, Decl(commentsOverloads.ts, 16, 7), Decl(commentsOverloads.ts, 17, 31), Decl(commentsOverloads.ts, 18, 31)) /** this is signature 4 - with number parameter*/ function f4(/**param a*/a: number): number; >f4 : Symbol(f4, Decl(commentsOverloads.ts, 23, 7), Decl(commentsOverloads.ts, 25, 43), Decl(commentsOverloads.ts, 27, 31)) >a : Symbol(a, Decl(commentsOverloads.ts, 25, 12)) /** this is signature 4 - with string parameter*/ function f4(b: string): number; >f4 : Symbol(f4, Decl(commentsOverloads.ts, 23, 7), Decl(commentsOverloads.ts, 25, 43), Decl(commentsOverloads.ts, 27, 31)) >b : Symbol(b, Decl(commentsOverloads.ts, 27, 12)) function f4(aOrb: any) { >f4 : Symbol(f4, Decl(commentsOverloads.ts, 23, 7), Decl(commentsOverloads.ts, 25, 43), Decl(commentsOverloads.ts, 27, 31)) >aOrb : Symbol(aOrb, Decl(commentsOverloads.ts, 28, 12)) return 10; } f4("hello"); >f4 : Symbol(f4, Decl(commentsOverloads.ts, 23, 7), Decl(commentsOverloads.ts, 25, 43), Decl(commentsOverloads.ts, 27, 31)) f4(10); >f4 : Symbol(f4, Decl(commentsOverloads.ts, 23, 7), Decl(commentsOverloads.ts, 25, 43), Decl(commentsOverloads.ts, 27, 31)) interface i1 { >i1 : Symbol(i1, Decl(commentsOverloads.ts, 32, 7)) /**this signature 1*/ (/**param a*/ a: number): number; >a : Symbol(a, Decl(commentsOverloads.ts, 35, 5)) /**this is signature 2*/ (b: string): number; >b : Symbol(b, Decl(commentsOverloads.ts, 37, 5)) /** foo 1*/ foo(a: number): number; >foo : Symbol(foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) >a : Symbol(a, Decl(commentsOverloads.ts, 39, 8)) /** foo 2*/ foo(b: string): number; >foo : Symbol(foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) >b : Symbol(b, Decl(commentsOverloads.ts, 41, 8)) // foo 3 foo(arr: number[]): number; >foo : Symbol(foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) >arr : Symbol(arr, Decl(commentsOverloads.ts, 43, 8)) /** foo 4 */ foo(arr: string[]): number; >foo : Symbol(foo, Decl(commentsOverloads.ts, 37, 24), Decl(commentsOverloads.ts, 39, 27), Decl(commentsOverloads.ts, 41, 27), Decl(commentsOverloads.ts, 43, 31)) >arr : Symbol(arr, Decl(commentsOverloads.ts, 45, 8)) foo2(a: number): number; >foo2 : Symbol(foo2, Decl(commentsOverloads.ts, 45, 31), Decl(commentsOverloads.ts, 47, 28)) >a : Symbol(a, Decl(commentsOverloads.ts, 47, 9)) /** foo2 2*/ foo2(b: string): number; >foo2 : Symbol(foo2, Decl(commentsOverloads.ts, 45, 31), Decl(commentsOverloads.ts, 47, 28)) >b : Symbol(b, Decl(commentsOverloads.ts, 49, 9)) foo3(a: number): number; >foo3 : Symbol(foo3, Decl(commentsOverloads.ts, 49, 28), Decl(commentsOverloads.ts, 50, 28)) >a : Symbol(a, Decl(commentsOverloads.ts, 50, 9)) foo3(b: string): number; >foo3 : Symbol(foo3, Decl(commentsOverloads.ts, 49, 28), Decl(commentsOverloads.ts, 50, 28)) >b : Symbol(b, Decl(commentsOverloads.ts, 51, 9)) /** foo4 1*/ foo4(a: number): number; >foo4 : Symbol(foo4, Decl(commentsOverloads.ts, 51, 28), Decl(commentsOverloads.ts, 53, 28), Decl(commentsOverloads.ts, 54, 28)) >a : Symbol(a, Decl(commentsOverloads.ts, 53, 9)) foo4(b: string): number; >foo4 : Symbol(foo4, Decl(commentsOverloads.ts, 51, 28), Decl(commentsOverloads.ts, 53, 28), Decl(commentsOverloads.ts, 54, 28)) >b : Symbol(b, Decl(commentsOverloads.ts, 54, 9)) /** foo4 any */ foo4(c: any): any; >foo4 : Symbol(foo4, Decl(commentsOverloads.ts, 51, 28), Decl(commentsOverloads.ts, 53, 28), Decl(commentsOverloads.ts, 54, 28)) >c : Symbol(c, Decl(commentsOverloads.ts, 56, 9)) /// new 1 new (a: string); >a : Symbol(a, Decl(commentsOverloads.ts, 58, 9)) /** new 1*/ new (b: number); >b : Symbol(b, Decl(commentsOverloads.ts, 60, 9)) } var i1_i: i1; >i1_i : Symbol(i1_i, Decl(commentsOverloads.ts, 62, 3)) >i1 : Symbol(i1, Decl(commentsOverloads.ts, 32, 7)) interface i2 { >i2 : Symbol(i2, Decl(commentsOverloads.ts, 62, 13)) new (a: string); >a : Symbol(a, Decl(commentsOverloads.ts, 64, 9)) /** new 2*/ new (b: number); >b : Symbol(b, Decl(commentsOverloads.ts, 66, 9)) (a: number): number; >a : Symbol(a, Decl(commentsOverloads.ts, 67, 5)) /**this is signature 2*/ (b: string): number; >b : Symbol(b, Decl(commentsOverloads.ts, 69, 5)) } var i2_i: i2; >i2_i : Symbol(i2_i, Decl(commentsOverloads.ts, 71, 3)) >i2 : Symbol(i2, Decl(commentsOverloads.ts, 62, 13)) interface i3 { >i3 : Symbol(i3, Decl(commentsOverloads.ts, 71, 13)) /** new 1*/ new (a: string); >a : Symbol(a, Decl(commentsOverloads.ts, 74, 9)) /** new 2*/ new (b: number); >b : Symbol(b, Decl(commentsOverloads.ts, 76, 9)) /**this is signature 1*/ (a: number): number; >a : Symbol(a, Decl(commentsOverloads.ts, 78, 5)) (b: string): number; >b : Symbol(b, Decl(commentsOverloads.ts, 79, 5)) } var i3_i: i3; >i3_i : Symbol(i3_i, Decl(commentsOverloads.ts, 81, 3)) >i3 : Symbol(i3, Decl(commentsOverloads.ts, 71, 13)) interface i4 { >i4 : Symbol(i4, Decl(commentsOverloads.ts, 81, 13)) new (a: string); >a : Symbol(a, Decl(commentsOverloads.ts, 83, 9)) new (b: number); >b : Symbol(b, Decl(commentsOverloads.ts, 84, 9)) (a: number): number; >a : Symbol(a, Decl(commentsOverloads.ts, 85, 5)) (b: string): number; >b : Symbol(b, Decl(commentsOverloads.ts, 86, 5)) } class c { >c : Symbol(c, Decl(commentsOverloads.ts, 87, 1)) public prop1(a: number): number; >prop1 : Symbol(prop1, Decl(commentsOverloads.ts, 88, 9), Decl(commentsOverloads.ts, 89, 36), Decl(commentsOverloads.ts, 90, 36)) >a : Symbol(a, Decl(commentsOverloads.ts, 89, 17)) public prop1(b: string): number; >prop1 : Symbol(prop1, Decl(commentsOverloads.ts, 88, 9), Decl(commentsOverloads.ts, 89, 36), Decl(commentsOverloads.ts, 90, 36)) >b : Symbol(b, Decl(commentsOverloads.ts, 90, 17)) public prop1(aorb: any) { >prop1 : Symbol(prop1, Decl(commentsOverloads.ts, 88, 9), Decl(commentsOverloads.ts, 89, 36), Decl(commentsOverloads.ts, 90, 36)) >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 91, 17)) return 10; } /** prop2 1*/ public prop2(a: number): number; >prop2 : Symbol(prop2, Decl(commentsOverloads.ts, 93, 5), Decl(commentsOverloads.ts, 95, 36), Decl(commentsOverloads.ts, 96, 36)) >a : Symbol(a, Decl(commentsOverloads.ts, 95, 17)) public prop2(b: string): number; >prop2 : Symbol(prop2, Decl(commentsOverloads.ts, 93, 5), Decl(commentsOverloads.ts, 95, 36), Decl(commentsOverloads.ts, 96, 36)) >b : Symbol(b, Decl(commentsOverloads.ts, 96, 17)) public prop2(aorb: any) { >prop2 : Symbol(prop2, Decl(commentsOverloads.ts, 93, 5), Decl(commentsOverloads.ts, 95, 36), Decl(commentsOverloads.ts, 96, 36)) >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 97, 17)) return 10; } public prop3(a: number): number; >prop3 : Symbol(prop3, Decl(commentsOverloads.ts, 99, 5), Decl(commentsOverloads.ts, 100, 36), Decl(commentsOverloads.ts, 102, 36)) >a : Symbol(a, Decl(commentsOverloads.ts, 100, 17)) /** prop3 2*/ public prop3(b: string): number; >prop3 : Symbol(prop3, Decl(commentsOverloads.ts, 99, 5), Decl(commentsOverloads.ts, 100, 36), Decl(commentsOverloads.ts, 102, 36)) >b : Symbol(b, Decl(commentsOverloads.ts, 102, 17)) public prop3(aorb: any) { >prop3 : Symbol(prop3, Decl(commentsOverloads.ts, 99, 5), Decl(commentsOverloads.ts, 100, 36), Decl(commentsOverloads.ts, 102, 36)) >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 103, 17)) return 10; } /** prop4 1*/ public prop4(a: number): number; >prop4 : Symbol(prop4, Decl(commentsOverloads.ts, 105, 5), Decl(commentsOverloads.ts, 107, 36), Decl(commentsOverloads.ts, 109, 36)) >a : Symbol(a, Decl(commentsOverloads.ts, 107, 17)) /** prop4 2*/ public prop4(b: string): number; >prop4 : Symbol(prop4, Decl(commentsOverloads.ts, 105, 5), Decl(commentsOverloads.ts, 107, 36), Decl(commentsOverloads.ts, 109, 36)) >b : Symbol(b, Decl(commentsOverloads.ts, 109, 17)) public prop4(aorb: any) { >prop4 : Symbol(prop4, Decl(commentsOverloads.ts, 105, 5), Decl(commentsOverloads.ts, 107, 36), Decl(commentsOverloads.ts, 109, 36)) >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 110, 17)) return 10; } /** prop5 1*/ public prop5(a: number): number; >prop5 : Symbol(prop5, Decl(commentsOverloads.ts, 112, 5), Decl(commentsOverloads.ts, 114, 36), Decl(commentsOverloads.ts, 116, 36)) >a : Symbol(a, Decl(commentsOverloads.ts, 114, 17)) /** prop5 2*/ public prop5(b: string): number; >prop5 : Symbol(prop5, Decl(commentsOverloads.ts, 112, 5), Decl(commentsOverloads.ts, 114, 36), Decl(commentsOverloads.ts, 116, 36)) >b : Symbol(b, Decl(commentsOverloads.ts, 116, 17)) /** Prop5 implementaion*/ public prop5(aorb: any) { >prop5 : Symbol(prop5, Decl(commentsOverloads.ts, 112, 5), Decl(commentsOverloads.ts, 114, 36), Decl(commentsOverloads.ts, 116, 36)) >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 118, 17)) return 10; } } class c1 { >c1 : Symbol(c1, Decl(commentsOverloads.ts, 121, 1)) constructor(a: number); >a : Symbol(a, Decl(commentsOverloads.ts, 123, 16)) constructor(b: string); >b : Symbol(b, Decl(commentsOverloads.ts, 124, 16)) constructor(aorb: any) { >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 125, 16)) } } class c2 { >c2 : Symbol(c2, Decl(commentsOverloads.ts, 127, 1)) /** c2 1*/ constructor(a: number); >a : Symbol(a, Decl(commentsOverloads.ts, 130, 16)) // c2 2 constructor(b: string); >b : Symbol(b, Decl(commentsOverloads.ts, 132, 16)) constructor(aorb: any) { >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 133, 16)) } } class c3 { >c3 : Symbol(c3, Decl(commentsOverloads.ts, 135, 1)) constructor(a: number); >a : Symbol(a, Decl(commentsOverloads.ts, 137, 16)) /** c3 2*/ constructor(b: string); >b : Symbol(b, Decl(commentsOverloads.ts, 139, 16)) constructor(aorb: any) { >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 140, 16)) } } class c4 { >c4 : Symbol(c4, Decl(commentsOverloads.ts, 142, 1)) /** c4 1*/ constructor(a: number); >a : Symbol(a, Decl(commentsOverloads.ts, 145, 16)) /** c4 2*/ constructor(b: string); >b : Symbol(b, Decl(commentsOverloads.ts, 147, 16)) /** c4 3 */ constructor(aorb: any) { >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 149, 16)) } } class c5 { >c5 : Symbol(c5, Decl(commentsOverloads.ts, 151, 1)) /** c5 1*/ constructor(a: number); >a : Symbol(a, Decl(commentsOverloads.ts, 154, 16)) /** c5 2*/ constructor(b: string); >b : Symbol(b, Decl(commentsOverloads.ts, 156, 16)) /** c5 implementation*/ constructor(aorb: any) { >aorb : Symbol(aorb, Decl(commentsOverloads.ts, 158, 16)) } } var c_i = new c(); >c_i : Symbol(c_i, Decl(commentsOverloads.ts, 161, 3)) >c : Symbol(c, Decl(commentsOverloads.ts, 87, 1)) var c1_i_1 = new c1(10); >c1_i_1 : Symbol(c1_i_1, Decl(commentsOverloads.ts, 163, 3)) >c1 : Symbol(c1, Decl(commentsOverloads.ts, 121, 1)) var c1_i_2 = new c1("hello"); >c1_i_2 : Symbol(c1_i_2, Decl(commentsOverloads.ts, 164, 3)) >c1 : Symbol(c1, Decl(commentsOverloads.ts, 121, 1)) var c2_i_1 = new c2(10); >c2_i_1 : Symbol(c2_i_1, Decl(commentsOverloads.ts, 165, 3)) >c2 : Symbol(c2, Decl(commentsOverloads.ts, 127, 1)) var c2_i_2 = new c2("hello"); >c2_i_2 : Symbol(c2_i_2, Decl(commentsOverloads.ts, 166, 3)) >c2 : Symbol(c2, Decl(commentsOverloads.ts, 127, 1)) var c3_i_1 = new c3(10); >c3_i_1 : Symbol(c3_i_1, Decl(commentsOverloads.ts, 167, 3)) >c3 : Symbol(c3, Decl(commentsOverloads.ts, 135, 1)) var c3_i_2 = new c3("hello"); >c3_i_2 : Symbol(c3_i_2, Decl(commentsOverloads.ts, 168, 3)) >c3 : Symbol(c3, Decl(commentsOverloads.ts, 135, 1)) var c4_i_1 = new c4(10); >c4_i_1 : Symbol(c4_i_1, Decl(commentsOverloads.ts, 169, 3)) >c4 : Symbol(c4, Decl(commentsOverloads.ts, 142, 1)) var c4_i_2 = new c4("hello"); >c4_i_2 : Symbol(c4_i_2, Decl(commentsOverloads.ts, 170, 3)) >c4 : Symbol(c4, Decl(commentsOverloads.ts, 142, 1)) var c5_i_1 = new c5(10); >c5_i_1 : Symbol(c5_i_1, Decl(commentsOverloads.ts, 171, 3)) >c5 : Symbol(c5, Decl(commentsOverloads.ts, 151, 1)) var c5_i_2 = new c5("hello"); >c5_i_2 : Symbol(c5_i_2, Decl(commentsOverloads.ts, 172, 3)) >c5 : Symbol(c5, Decl(commentsOverloads.ts, 151, 1))