///
////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"
});