/// ////class A { } ////class B {/*B*/ } ////class C { /*C*/constructor(val: T) { } } ////class D { constructor(/*D*/val: T) { } } //// ////new /*Asig*/A(); ////new /*Bsig*/B(""); ////new /*Csig*/C(""); ////new /*Dsig*/D(); var A = 'A'; var B = 'B'; var C = 'C'; var D = 'D' goTo.marker(B); edit.insert('constructor(val: T) { }'); verify.quickInfos({ Asig: "constructor A(): A", Bsig: "constructor B(val: string): B", Csig: "constructor C(val: string): C", Dsig: "constructor D(val: string): D" // Cannot resolve signature. Still fill in generics based on explicit type arguments. }); goTo.marker(C); edit.deleteAtCaret('constructor(val: T) { }'.length); verify.quickInfos({ Asig: "constructor A(): A", Bsig: "constructor B(val: string): B", Csig: "constructor C(): C", // Cannot resolve signature Dsig: "constructor D(val: string): D" // Cannot resolve signature }); goTo.marker(D); edit.deleteAtCaret("val: T".length); verify.quickInfos({ Asig: "constructor A(): A", Bsig: "constructor B(val: string): B", Csig: "constructor C(): C", // Cannot resolve signature Dsig: "constructor D(): D" });