2014-07-13 01:04:16 +02:00
|
|
|
/// <reference path='fourslash.ts'/>
|
|
|
|
|
|
|
|
////class A<T> { }
|
|
|
|
////class B<T> {/*B*/ }
|
|
|
|
////class C<T> { /*C*/constructor(val: T) { } }
|
|
|
|
////class D<T> { constructor(/*D*/val: T) { } }
|
|
|
|
////
|
2014-10-07 20:30:27 +02:00
|
|
|
////new /*Asig*/A<string>();
|
|
|
|
////new /*Bsig*/B("");
|
|
|
|
////new /*Csig*/C("");
|
|
|
|
////new /*Dsig*/D<string>();
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
var A = 'A';
|
|
|
|
var B = 'B';
|
|
|
|
var C = 'C';
|
|
|
|
var D = 'D'
|
|
|
|
goTo.marker(B);
|
|
|
|
edit.insert('constructor(val: T) { }');
|
2016-09-09 18:02:55 +02:00
|
|
|
verify.quickInfos({
|
|
|
|
Asig: "constructor A<string>(): A<string>",
|
|
|
|
Bsig: "constructor B<string>(val: string): B<string>",
|
|
|
|
Csig: "constructor C<string>(val: string): C<string>",
|
2017-06-27 18:14:23 +02:00
|
|
|
Dsig: "constructor D<string>(val: string): D<string>" // Cannot resolve signature. Still fill in generics based on explicit type arguments.
|
2016-09-09 18:02:55 +02:00
|
|
|
});
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
goTo.marker(C);
|
|
|
|
edit.deleteAtCaret('constructor(val: T) { }'.length);
|
2016-09-09 18:02:55 +02:00
|
|
|
verify.quickInfos({
|
|
|
|
Asig: "constructor A<string>(): A<string>",
|
|
|
|
Bsig: "constructor B<string>(val: string): B<string>",
|
2019-04-04 21:25:15 +02:00
|
|
|
Csig: "constructor C<unknown>(): C<unknown>", // Cannot resolve signature
|
2017-06-27 18:14:23 +02:00
|
|
|
Dsig: "constructor D<string>(val: string): D<string>" // Cannot resolve signature
|
2016-09-09 18:02:55 +02:00
|
|
|
});
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
goTo.marker(D);
|
|
|
|
edit.deleteAtCaret("val: T".length);
|
2016-09-09 18:02:55 +02:00
|
|
|
verify.quickInfos({
|
|
|
|
Asig: "constructor A<string>(): A<string>",
|
|
|
|
Bsig: "constructor B<string>(val: string): B<string>",
|
2019-04-04 21:25:15 +02:00
|
|
|
Csig: "constructor C<unknown>(): C<unknown>", // Cannot resolve signature
|
2016-09-09 18:02:55 +02:00
|
|
|
Dsig: "constructor D<string>(): D<string>"
|
|
|
|
});
|