File: automaticConstructorToggling.ts

package info (click to toggle)
node-typescript 4.8.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 523,068 kB
  • sloc: javascript: 1,735,777; makefile: 7; sh: 1
file content (42 lines) | stat: -rw-r--r-- 1,446 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/// <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) { } }
////
////new /*Asig*/A<string>();
////new /*Bsig*/B("");
////new /*Csig*/C("");
////new /*Dsig*/D<string>();

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<string>(): A<string>",
    Bsig: "constructor B<string>(val: string): B<string>",
    Csig: "constructor C<string>(val: string): C<string>",
    Dsig: "constructor D<string>(val: string): D<string>" // 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<string>(): A<string>",
    Bsig: "constructor B<string>(val: string): B<string>",
    Csig: "constructor C<unknown>(): C<unknown>", // Cannot resolve signature
    Dsig: "constructor D<string>(val: string): D<string>" // Cannot resolve signature
});

goTo.marker(D);
edit.deleteAtCaret("val: T".length);
verify.quickInfos({
    Asig: "constructor A<string>(): A<string>",
    Bsig: "constructor B<string>(val: string): B<string>",
    Csig: "constructor C<unknown>(): C<unknown>", // Cannot resolve signature
    Dsig: "constructor D<string>(): D<string>"
});