Commit ef8eb0c
Fix contextually typed object literal completions where the object being edited affects its own inference (microsoft#36556)
* Conditionally elide a parameter from contextual type signature calculation
* Slightly different approach to forbid inference to specific expressions
* Handle nested literals and mapped types correctly
* Delete unused cache
* Rename ContextFlags.BaseConstraint and related usage
* Add tests from my PR
* Update ContextFlags comment
Co-Authored-By: Wesley Wigham <wwigham@gmail.com>
* Update comments and fourslash triple slash refs
Co-authored-by: Wesley Wigham <wwigham@gmail.com>1 parent ad24904 commit ef8eb0cCopy full SHA for ef8eb0c
File tree
Expand file treeCollapse file tree
8 files changed
+253
-25
lines changedOpen diff view settings
Filter options
- src
- compiler
- services
- tests/cases/fourslash
Expand file treeCollapse file tree
8 files changed
+253
-25
lines changedOpen diff view settings
Collapse file
+40-13Lines changed: 40 additions & 13 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
467 | 467 | |
468 | 468 | |
469 | 469 | |
470 | | - |
| 470 | + |
| 471 | + |
| 472 | + |
| 473 | + |
| 474 | + |
| 475 | + |
| 476 | + |
| 477 | + |
| 478 | + |
| 479 | + |
| 480 | + |
| 481 | + |
| 482 | + |
| 483 | + |
| 484 | + |
| 485 | + |
| 486 | + |
| 487 | + |
| 488 | + |
| 489 | + |
| 490 | + |
| 491 | + |
| 492 | + |
471 | 493 | |
472 | 494 | |
473 | 495 | |
| ||
17796 | 17818 | |
17797 | 17819 | |
17798 | 17820 | |
| 17821 | + |
| 17822 | + |
| 17823 | + |
| 17824 | + |
| 17825 | + |
| 17826 | + |
| 17827 | + |
| 17828 | + |
17799 | 17829 | |
17800 | 17830 | |
17801 | 17831 | |
| ||
17886 | 17916 | |
17887 | 17917 | |
17888 | 17918 | |
17889 | | - |
| 17919 | + |
17890 | 17920 | |
17891 | 17921 | |
17892 | 17922 | |
| ||
18190 | 18220 | |
18191 | 18221 | |
18192 | 18222 | |
18193 | | - |
| 18223 | + |
18194 | 18224 | |
18195 | 18225 | |
18196 | 18226 | |
| ||
21449 | 21479 | |
21450 | 21480 | |
21451 | 21481 | |
21452 | | - |
| 21482 | + |
21453 | 21483 | |
21454 | 21484 | |
21455 | | - |
| 21485 | + |
21456 | 21486 | |
21457 | 21487 | |
21458 | | - |
| 21488 | + |
21459 | 21489 | |
21460 | 21490 | |
21461 | | - |
21462 | | - |
21463 | | - |
21464 | | - |
| 21491 | + |
21465 | 21492 | |
21466 | 21493 | |
21467 | 21494 | |
| ||
21857 | 21884 | |
21858 | 21885 | |
21859 | 21886 | |
21860 | | - |
| 21887 | + |
21861 | 21888 | |
21862 | 21889 | |
21863 | 21890 | |
| ||
21901 | 21928 | |
21902 | 21929 | |
21903 | 21930 | |
21904 | | - |
| 21931 | + |
21905 | 21932 | |
21906 | 21933 | |
21907 | 21934 | |
21908 | 21935 | |
21909 | 21936 | |
21910 | | - |
| 21937 | + |
21911 | 21938 | |
21912 | 21939 | |
21913 | 21940 | |
|
Collapse file
+3-1Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
3611 | 3611 | |
3612 | 3612 | |
3613 | 3613 | |
3614 | | - |
| 3614 | + |
| 3615 | + |
3615 | 3616 | |
3616 | 3617 | |
3617 | 3618 | |
| ||
4249 | 4250 | |
4250 | 4251 | |
4251 | 4252 | |
| 4253 | + |
4252 | 4254 | |
4253 | 4255 | |
4254 | 4256 | |
|
Collapse file
src/services/completions.ts
Copy file name to clipboardExpand all lines: src/services/completions.ts+11-11Lines changed: 11 additions & 11 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
1280 | 1280 | |
1281 | 1281 | |
1282 | 1282 | |
1283 | | - |
1284 | | - |
| 1283 | + |
| 1284 | + |
1285 | 1285 | |
1286 | 1286 | |
1287 | 1287 | |
| ||
1800 | 1800 | |
1801 | 1801 | |
1802 | 1802 | |
1803 | | - |
1804 | | - |
1805 | | - |
1806 | | - |
| 1803 | + |
| 1804 | + |
| 1805 | + |
| 1806 | + |
1807 | 1807 | |
1808 | 1808 | |
1809 | 1809 | |
| ||
2549 | 2549 | |
2550 | 2550 | |
2551 | 2551 | |
2552 | | - |
2553 | | - |
2554 | | - |
2555 | | - |
| 2552 | + |
| 2553 | + |
| 2554 | + |
| 2555 | + |
2556 | 2556 | |
2557 | 2557 | |
2558 | 2558 | |
| ||
2564 | 2564 | |
2565 | 2565 | |
2566 | 2566 | |
2567 | | - |
| 2567 | + |
2568 | 2568 | |
2569 | 2569 | |
2570 | 2570 | |
|
Collapse file
tests/cases/fourslash/completionsGenericIndexedAccess3.ts
Copy file name to clipboard+35Lines changed: 35 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 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 | + |
Collapse file
tests/cases/fourslash/completionsGenericIndexedAccess4.ts
Copy file name to clipboard+45Lines changed: 45 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 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 | + |
| 43 | + |
| 44 | + |
| 45 | + |
Collapse file
tests/cases/fourslash/completionsGenericIndexedAccess5.ts
Copy file name to clipboard+30Lines changed: 30 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 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 | + |
Collapse file
tests/cases/fourslash/completionsGenericIndexedAccess6.ts
Copy file name to clipboard+25Lines changed: 25 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 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 | + |
Collapse file
tests/cases/fourslash/completionsObjectLiteralWithPartialConstraint.ts
Copy file name to clipboard+64Lines changed: 64 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 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 | + |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | + |
| 57 | + |
| 58 | + |
| 59 | + |
| 60 | + |
| 61 | + |
| 62 | + |
| 63 | + |
| 64 | + |
0 commit comments