Skip to content

Commit 2b4e7e3

Browse files
Improve reuse of nodes in signatures with type mapping (#58546)
1 parent b3f3bb3 commit 2b4e7e3

File tree

3,164 files changed

+34005
-33906
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,164 files changed

+34005
-33906
lines changed

src/compiler/checker.ts

Lines changed: 90 additions & 35 deletions
Large diffs are not rendered by default.

src/services/symbolDisplay.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,7 @@ function getSymbolDisplayPartsDocumentationAndSymbolKindWorker(typeChecker: Type
557557
typeChecker,
558558
resolvedSymbol,
559559
getSourceFileOfNode(resolvedNode),
560-
resolvedNode,
560+
enclosingDeclaration,
561561
declarationName,
562562
type,
563563
semanticMeaning,

tests/baselines/reference/1.0lib-noErrors.types

Lines changed: 25 additions & 25 deletions
Large diffs are not rendered by default.

tests/baselines/reference/2dArrays.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ class Board {
3535
>this.ships.every(function (val) { return val.isSunk; }) : boolean
3636
> : ^^^^^^^
3737
>this.ships.every : { <S extends Ship>(predicate: (value: Ship, index: number, array: Ship[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Ship, index: number, array: Ship[]) => unknown, thisArg?: any): boolean; }
38-
> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^
38+
> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^
3939
>this.ships : Ship[]
4040
> : ^^^^^^
4141
>this : this
4242
> : ^^^^
4343
>ships : Ship[]
4444
> : ^^^^^^
4545
>every : { <S extends Ship>(predicate: (value: Ship, index: number, array: Ship[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Ship, index: number, array: Ship[]) => unknown, thisArg?: any): boolean; }
46-
> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^
46+
> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^
4747
>function (val) { return val.isSunk; } : (val: Ship) => boolean
4848
> : ^ ^^^^^^^^^^^^^^^^^^
4949
>val : Ship

tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,19 @@ var cl: { x: number; y: number; }
3434

3535
var cl = Point();
3636
>cl : { x: number; y: number; }
37-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
37+
> : ^^^^^ ^^^^^ ^^^
3838
>Point() : { x: number; y: number; }
39-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
39+
> : ^^^^^ ^^^^^ ^^^
4040
>Point : typeof Point
4141
> : ^^^^^^^^^^^^
4242

4343
var cl = Point.Origin;
4444
>cl : { x: number; y: number; }
45-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
45+
> : ^^^^^ ^^^^^ ^^^
4646
>Point.Origin : { x: number; y: number; }
47-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
47+
> : ^^^^^ ^^^^^ ^^^
4848
>Point : typeof Point
4949
> : ^^^^^^^^^^^^
5050
>Origin : { x: number; y: number; }
51-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
51+
> : ^^^^^ ^^^^^ ^^^
5252

tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,21 +60,21 @@ var p: { x: number; y: number; }
6060

6161
var p = A.Point.Origin;
6262
>p : { x: number; y: number; }
63-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
63+
> : ^^^^^ ^^^^^ ^^^
6464
>A.Point.Origin : { x: number; y: number; }
65-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
65+
> : ^^^^^ ^^^^^ ^^^
6666
>A.Point : typeof A.Point
6767
> : ^^^^^^^^^^^^^^
6868
>A : typeof A
6969
> : ^^^^^^^^
7070
>Point : typeof A.Point
7171
> : ^^^^^^^^^^^^^^
7272
>Origin : { x: number; y: number; }
73-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
73+
> : ^^^^^ ^^^^^ ^^^
7474

7575
var p = new A.Point(0, 0); // unexpected error here, bug 840000
7676
>p : { x: number; y: number; }
77-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
77+
> : ^^^^^ ^^^^^ ^^^
7878
>new A.Point(0, 0) : A.Point
7979
> : ^^^^^^^
8080
>A.Point : typeof A.Point

tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,21 +52,21 @@ var p: { x: number; y: number; }
5252

5353
var p = A.Point.Origin;
5454
>p : { x: number; y: number; }
55-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
55+
> : ^^^^^ ^^^^^ ^^^
5656
>A.Point.Origin : { x: number; y: number; }
57-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
57+
> : ^^^^^ ^^^^^ ^^^
5858
>A.Point : typeof A.Point
5959
> : ^^^^^^^^^^^^^^
6060
>A : typeof A
6161
> : ^^^^^^^^
6262
>Point : typeof A.Point
6363
> : ^^^^^^^^^^^^^^
6464
>Origin : { x: number; y: number; }
65-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
65+
> : ^^^^^ ^^^^^ ^^^
6666

6767
var p = new A.Point(0, 0); // unexpected error here, bug 840000
6868
>p : { x: number; y: number; }
69-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
69+
> : ^^^^^ ^^^^^ ^^^
7070
>new A.Point(0, 0) : A.Point
7171
> : ^^^^^^^
7272
>A.Point : typeof A.Point

tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,19 +43,19 @@ var cl: { x: number; y: number; }
4343

4444
var cl = Point();
4545
>cl : { x: number; y: number; }
46-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
46+
> : ^^^^^ ^^^^^ ^^^
4747
>Point() : { x: number; y: number; }
4848
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
4949
>Point : typeof Point
5050
> : ^^^^^^^^^^^^
5151

5252
var cl = Point.Origin;
5353
>cl : { x: number; y: number; }
54-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
54+
> : ^^^^^ ^^^^^ ^^^
5555
>Point.Origin : { x: number; y: number; }
56-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
56+
> : ^^^^^ ^^^^^ ^^^
5757
>Point : typeof Point
5858
> : ^^^^^^^^^^^^
5959
>Origin : { x: number; y: number; }
60-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
60+
> : ^^^^^ ^^^^^ ^^^
6161

tests/baselines/reference/ES5For-of1.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ for (var v of ['a', 'b', 'c']) {
1717
>console.log(v) : void
1818
> : ^^^^
1919
>console.log : (...data: any[]) => void
20-
> : ^^^^ ^^ ^^^^^^^^^
20+
> : ^^^^ ^^ ^^^^^
2121
>console : Console
2222
> : ^^^^^^^
2323
>log : (...data: any[]) => void
24-
> : ^^^^ ^^ ^^^^^^^^^
24+
> : ^^^^ ^^ ^^^^^
2525
>v : string
2626
> : ^^^^^^
2727
}

tests/baselines/reference/ES5For-of22.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ for (var x of [1, 2, 3]) {
2323
>console.log(x) : void
2424
> : ^^^^
2525
>console.log : (...data: any[]) => void
26-
> : ^^^^ ^^ ^^^^^^^^^
26+
> : ^^^^ ^^ ^^^^^
2727
>console : Console
2828
> : ^^^^^^^
2929
>log : (...data: any[]) => void
30-
> : ^^^^ ^^ ^^^^^^^^^
30+
> : ^^^^ ^^ ^^^^^
3131
>x : number
3232
> : ^^^^^^
3333
}

tests/baselines/reference/ES5For-of23.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ for (var x of [1, 2, 3]) {
2323
>console.log(x) : void
2424
> : ^^^^
2525
>console.log : (...data: any[]) => void
26-
> : ^^^^ ^^ ^^^^^^^^^
26+
> : ^^^^ ^^ ^^^^^
2727
>console : Console
2828
> : ^^^^^^^
2929
>log : (...data: any[]) => void
30-
> : ^^^^ ^^ ^^^^^^^^^
30+
> : ^^^^ ^^ ^^^^^
3131
>x : number
3232
> : ^^^^^^
3333
}

tests/baselines/reference/ES5For-of33.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ for (var v of ['a', 'b', 'c']) {
1717
>console.log(v) : void
1818
> : ^^^^
1919
>console.log : (...data: any[]) => void
20-
> : ^^^^ ^^ ^^^^^^^^^
20+
> : ^^^^ ^^ ^^^^^
2121
>console : Console
2222
> : ^^^^^^^
2323
>log : (...data: any[]) => void
24-
> : ^^^^ ^^ ^^^^^^^^^
24+
> : ^^^^ ^^ ^^^^^
2525
>v : string
2626
> : ^^^^^^
2727
}

tests/baselines/reference/ES5For-of37.types

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ for (const i of [0, 1, 2, 3, 4]) {
5454
>console.log(i) : void
5555
> : ^^^^
5656
>console.log : (...data: any[]) => void
57-
> : ^^^^ ^^ ^^^^^^^^^
57+
> : ^^^^ ^^ ^^^^^
5858
>console : Console
5959
> : ^^^^^^^
6060
>log : (...data: any[]) => void
61-
> : ^^^^ ^^ ^^^^^^^^^
61+
> : ^^^^ ^^ ^^^^^
6262
>i : number
6363
> : ^^^^^^
6464

@@ -69,11 +69,11 @@ for (const i of [0, 1, 2, 3, 4]) {
6969
>console.log('E %s %s', i, err) : void
7070
> : ^^^^
7171
>console.log : (...data: any[]) => void
72-
> : ^^^^ ^^ ^^^^^^^^^
72+
> : ^^^^ ^^ ^^^^^
7373
>console : Console
7474
> : ^^^^^^^
7575
>log : (...data: any[]) => void
76-
> : ^^^^ ^^ ^^^^^^^^^
76+
> : ^^^^ ^^ ^^^^^
7777
>'E %s %s' : "E %s %s"
7878
> : ^^^^^^^^^
7979
>i : number

tests/baselines/reference/ES5SymbolProperty4.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class C {
1717
>Symbol.iterator : string
1818
> : ^^^^^^
1919
>Symbol : { iterator: string; }
20-
> : ^^^^^^^^^^^^^^^^^^^^^
20+
> : ^^^^^^^^^^^^ ^^^
2121
>iterator : string
2222
> : ^^^^^^
2323
}
@@ -33,7 +33,7 @@ class C {
3333
>Symbol.iterator : string
3434
> : ^^^^^^
3535
>Symbol : { iterator: string; }
36-
> : ^^^^^^^^^^^^^^^^^^^^^
36+
> : ^^^^^^^^^^^^ ^^^
3737
>iterator : string
3838
> : ^^^^^^
3939

tests/baselines/reference/ES5SymbolProperty5.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class C {
1717
>Symbol.iterator : symbol
1818
> : ^^^^^^
1919
>Symbol : { iterator: symbol; }
20-
> : ^^^^^^^^^^^^^^^^^^^^^
20+
> : ^^^^^^^^^^^^ ^^^
2121
>iterator : symbol
2222
> : ^^^^^^
2323
}
@@ -34,7 +34,7 @@ class C {
3434
>Symbol.iterator : symbol
3535
> : ^^^^^^
3636
>Symbol : { iterator: symbol; }
37-
> : ^^^^^^^^^^^^^^^^^^^^^
37+
> : ^^^^^^^^^^^^ ^^^
3838
>iterator : symbol
3939
> : ^^^^^^
4040
>0 : 0

tests/baselines/reference/ES5SymbolProperty7.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class C {
1515
> : ^^^^^^^^^^
1616
>Symbol.iterator : any
1717
>Symbol : { iterator: any; }
18-
> : ^^^^^^^^^^^^^^^^^^
18+
> : ^^^^^^^^^^^^ ^^^
1919
>iterator : any
2020
> : ^^^
2121
}
@@ -30,7 +30,7 @@ class C {
3030
> : ^^^^^^^^
3131
>Symbol.iterator : any
3232
>Symbol : { iterator: any; }
33-
> : ^^^^^^^^^^^^^^^^^^
33+
> : ^^^^^^^^^^^^ ^^^
3434
>iterator : any
3535
> : ^^^
3636

tests/baselines/reference/ES5SymbolType1.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ s.toString();
99
>s.toString() : string
1010
> : ^^^^^^
1111
>s.toString : () => string
12-
> : ^^^^^^^^^^^^
12+
> : ^^^^^^
1313
>s : symbol
1414
> : ^^^^^^
1515
>toString : () => string
16-
> : ^^^^^^^^^^^^
16+
> : ^^^^^^
1717

tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ var y: { x: number; y: number };
5252

5353
var y = new enumdule.Point(0, 0);
5454
>y : { x: number; y: number; }
55-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
55+
> : ^^^^^ ^^^^^ ^^^
5656
>new enumdule.Point(0, 0) : enumdule.Point
5757
> : ^^^^^^^^^^^^^^
5858
>enumdule.Point : typeof enumdule.Point

tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ var fn: () => { x: number; y: number };
5959

6060
var fn = A.Point;
6161
>fn : () => { x: number; y: number; }
62-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62+
> : ^^^^^^
6363
>A.Point : typeof A.Point
6464
> : ^^^^^^^^^^^^^^
6565
>A : typeof A
@@ -77,7 +77,7 @@ var cl: { x: number; y: number; }
7777

7878
var cl = A.Point();
7979
>cl : { x: number; y: number; }
80-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
80+
> : ^^^^^ ^^^^^ ^^^
8181
>A.Point() : { x: number; y: number; }
8282
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
8383
>A.Point : typeof A.Point
@@ -89,7 +89,7 @@ var cl = A.Point();
8989

9090
var cl = A.Point.Origin; // not expected to be an error.
9191
>cl : { x: number; y: number; }
92-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
92+
> : ^^^^^ ^^^^^ ^^^
9393
>A.Point.Origin : { x: number; y: number; }
9494
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
9595
>A.Point : typeof A.Point
@@ -146,15 +146,15 @@ module B {
146146

147147
var fn: () => { x: number; y: number };
148148
>fn : () => { x: number; y: number; }
149-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
149+
> : ^^^^^^
150150
>x : number
151151
> : ^^^^^^
152152
>y : number
153153
> : ^^^^^^
154154

155155
var fn = B.Point; // not expected to be an error. bug 840000: [corelang] Function of fundule not assignalbe as expected
156156
>fn : () => { x: number; y: number; }
157-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
157+
> : ^^^^^^
158158
>B.Point : typeof B.Point
159159
> : ^^^^^^^^^^^^^^
160160
>B : typeof B
@@ -164,15 +164,15 @@ var fn = B.Point; // not expected to be an error. bug 840000: [corelang] Functi
164164

165165
var cl: { x: number; y: number; }
166166
>cl : { x: number; y: number; }
167-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
167+
> : ^^^^^ ^^^^^ ^^^
168168
>x : number
169169
> : ^^^^^^
170170
>y : number
171171
> : ^^^^^^
172172

173173
var cl = B.Point();
174174
>cl : { x: number; y: number; }
175-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
175+
> : ^^^^^ ^^^^^ ^^^
176176
>B.Point() : { x: number; y: number; }
177177
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
178178
>B.Point : typeof B.Point
@@ -184,7 +184,7 @@ var cl = B.Point();
184184

185185
var cl = B.Point.Origin;
186186
>cl : { x: number; y: number; }
187-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
187+
> : ^^^^^ ^^^^^ ^^^
188188
>B.Point.Origin : { x: number; y: number; }
189189
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
190190
>B.Point : typeof B.Point

tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ var fn: () => { x: number; y: number };
5959

6060
var fn = A.Point;
6161
>fn : () => { x: number; y: number; }
62-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62+
> : ^^^^^^
6363
>A.Point : () => { x: number; y: number; }
6464
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6565
>A : typeof A
@@ -77,7 +77,7 @@ var cl: { x: number; y: number; }
7777

7878
var cl = B.Point.Origin;
7979
>cl : { x: number; y: number; }
80-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
80+
> : ^^^^^ ^^^^^ ^^^
8181
>B.Point.Origin : { x: number; y: number; }
8282
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
8383
>B.Point : typeof B.Point

tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ var y: { x: number; y: number };
5252

5353
var y = new enumdule.Point(0, 0);
5454
>y : { x: number; y: number; }
55-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
55+
> : ^^^^^ ^^^^^ ^^^
5656
>new enumdule.Point(0, 0) : enumdule.Point
5757
> : ^^^^^^^^^^^^^^
5858
>enumdule.Point : typeof enumdule.Point

tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ var a: { id: number; name: string };
6969

7070
var a = new A.A();
7171
>a : { id: number; name: string; }
72-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
72+
> : ^^^^^^ ^^^^^^^^ ^^^
7373
>new A.A() : A.A
7474
> : ^^^
7575
>A.A : typeof A.A

0 commit comments

Comments
 (0)