Commit 8153397
Andy
Lazily compute signature type predicates (microsoft#17600)
* Lazily compute signature type predicates
* Use an instance of IdentifierTypePredicate to represent an unresolved type predicate
* Simplify `getMaybeTypePredicate`
* Invert representation of `resolvedTypePredicate`
* Remove `__unresolvedTypePredicate` type and remember to use `noTypePredicate` instead of `undefined` when in all `createSignature` calls
* Fix style of getTypePredicateOfSignature
* Use in createGetSymbolWalker
* Fix bugs for unions of type predicates
* Code review
* Make noTypePredicate purely an implementation detail of getTypePredictateOfSignature
* Add test
* Add test for microsoft#19642
* Add test with reversed order1 parent e42ecea commit 8153397
29 files changed
Lines changed: 1080 additions & 480 deletions
File tree
- src
- compiler
- services
- tests
- baselines/reference
- cases
- compiler
- conformance
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
117 | 118 | | |
118 | 119 | | |
119 | 120 | | |
120 | | - | |
121 | | - | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
122 | 124 | | |
123 | 125 | | |
124 | 126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2791 | 2791 | | |
2792 | 2792 | | |
2793 | 2793 | | |
2794 | | - | |
| 2794 | + | |
| 2795 | + | |
| 2796 | + | |
| 2797 | + | |
| 2798 | + | |
| 2799 | + | |
| 2800 | + | |
| 2801 | + | |
| 2802 | + | |
| 2803 | + | |
| 2804 | + | |
2795 | 2805 | | |
2796 | 2806 | | |
2797 | 2807 | | |
| |||
3638 | 3648 | | |
3639 | 3649 | | |
3640 | 3650 | | |
3641 | | - | |
| 3651 | + | |
| 3652 | + | |
| 3653 | + | |
| 3654 | + | |
| 3655 | + | |
| 3656 | + | |
| 3657 | + | |
3642 | 3658 | | |
3643 | 3659 | | |
3644 | 3660 | | |
| |||
3658 | 3674 | | |
3659 | 3675 | | |
3660 | 3676 | | |
3661 | | - | |
3662 | | - | |
3663 | 3677 | | |
3664 | 3678 | | |
3665 | 3679 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
488 | 488 | | |
489 | 489 | | |
490 | 490 | | |
| 491 | + | |
491 | 492 | | |
492 | 493 | | |
493 | 494 | | |
| |||
Lines changed: 70 additions & 67 deletions
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
297 | 297 | | |
298 | 298 | | |
299 | 299 | | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
300 | 303 | | |
301 | 304 | | |
302 | 305 | | |
| |||
967 | 970 | | |
968 | 971 | | |
969 | 972 | | |
970 | | - | |
| 973 | + | |
971 | 974 | | |
972 | 975 | | |
973 | 976 | | |
| |||
1276 | 1279 | | |
1277 | 1280 | | |
1278 | 1281 | | |
| 1282 | + | |
| 1283 | + | |
| 1284 | + | |
1279 | 1285 | | |
1280 | 1286 | | |
1281 | 1287 | | |
| |||
0 commit comments