Commit Graph
2732 Commits
Author SHA1 Message Date
Jake Bailey ed71185c27 Unify recursive type naming during serialization
Recursive values can have valid declaration types without annotations.
Separate function and alias fallbacks leave equivalent constructs with
different results, and broader value annotations can silently weaken
the recursive type.

Keep ordinary type names independent of the definitions being emitted.
Share definition context across syntax reuse and structural expansion
so recursive references and cycle detection agree on what is in scope.
A value self-reference must cross a lazy resolution boundary, and names
usable in local displays are not necessarily usable in declarations.

Starting from a selected signature must not add an extra recursive
unfolding merely because its containing type was not traversed.
Preserve isolated declaration inference restrictions and prevent cached
output from crossing incompatible recursion contexts.

Captured generic substitutions must not escape into parameters bound
by a re-entered signature. Otherwise declaration consumers lose valid
calls even when the original source infers the correct result.

Fixes 55832
2026-10-23 15:07:16 -07:00
Jake Bailey 0ffcbfd690 Reproduce recursive declaration naming failures
Recursive values should retain their structure across declaration emit
and downstream consumption instead of failing emit or acquiring any.
Cover functions, object members, containers, and generic aliases, with
repeated builds and displays at different expansion levels.

Broader annotations and inaccessible names must not silently weaken
recursive types. Preserve coverage of declaration error reporting even
when formerly unrepresentable structural types become nameable.

Declaration and call-site displays should agree on recursive boundaries
without losing the selected overload or generic specialization.

Recursive generic owners must remain reusable with new type arguments.
A captured specialization must not change a method's own generic
contract or leak into declarations consumed by downstream projects.

For 55832
2026-10-23 15:06:32 -07:00
Anders Hejlsberg 8d9b6da99e Lazy member resolution for class and interface types (#64915) 2026-10-23 19:35:05 +00:00
John Favret a91e93821f Reload cached files for Created watch events (#64909) 2026-10-22 19:08:38 +00:00
Oleksandr Tarasiuk 98add1bbed fix: avoid repeated root scans in no-op builds (#64898) 2026-10-21 18:47:46 +00:00
Mateusz Burzyński b8657191f1 Restore index signature details in property hovers (#64586) 2026-10-21 18:40:33 +00:00
Andrew BranchandCopilot 28534d7609 Make LSP server load content mappers only from node_modules inside workspace folders (#64837)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-19 22:42:39 +00:00
Andrew BranchandCopilot 6b2907c54b [api] Client performance optimizations (#64823)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-19 22:34:37 +00:00
Max Schwenk 5237fd4689 Cache undefined widening properties per symbol, not per name (#64728) 2026-10-18 04:47:29 +00:00
Ryan CavanaughandCopilot App 2e9fb00f5f Reduce the last ~2 years of uncovered top1000 repo failures into local tests (#64850)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 736819aa-5f3d-4bce-b59b-e63c38aaec88
2026-10-17 01:10:46 +00:00
Titian Cernicova-Dragomir 9de8b7a3b8 Ensure pathsBasePath is correctly forwarded from the API (#64843) 2026-10-16 23:07:44 +00:00
John Favret 0a27badde0 Fix incremental diagnostics after global file deletion (#64845) 2026-10-16 21:25:42 +00:00
Ryan Cavanaugh 0e081d6fb3 Escape quotes in synthesized module specifiers (#64839) 2026-10-15 23:24:37 +00:00
Jake Bailey bb9afd2bbf Disable ATA when no user cache is available (#64836) 2026-10-15 21:47:53 +00:00
Jake Bailey ce30dd50a5 Ban network paths wholesale (#64832) 2026-10-15 20:57:39 +00:00
Jake Bailey 0ee02846fb Fix release pipeline tests and workflow (#64831) 2026-10-15 18:24:29 +00:00
Andrew Branch 257e87406c [api] Fix named pipe / UDS creation (#64818) 2026-10-14 22:32:31 +00:00
HazyLab 76c4f5078b perf(checker): fast-path compareNodes for identical AST parent containers and use cmp.Compare (#64551) 2026-10-14 16:46:45 +00:00
typescript-automation[bot] d9c578ddb4 Update localization files (#64764)
Co-authored-by: typescript-automation[bot] <290192711+typescript-automation[bot]@users.noreply.github.com>
2026-10-14 16:24:47 +00:00
Oleksandr Tarasiuk f5cdce998e fix(64058): fix reparse jsdoc @extends type arguments for call expressions (#64072) 2026-10-14 16:08:07 +00:00
Jake Bailey 6c976dad5d Reuse ordered property counts during intersection reduction (#64804) 2026-10-14 15:41:29 +00:00
Jake Bailey e36179bde8 Use paged indexes for type-node and signature caches (#64803) 2026-10-14 15:41:28 +00:00
Jake Bailey e67b60e338 Bound arena retention by bytes instead of object count (#64802) 2026-10-14 15:41:26 +00:00
Jake Bailey 158a0805fe Keep optional type-node and signature state out of hot records (#64801) 2026-10-14 15:41:25 +00:00
Jake Bailey 82db71afa0 Move optional structured type shape into cold storage (#64800) 2026-10-14 14:00:42 +00:00
Jake Bailey 56ce7acfc8 Keep optional symbol tables out of hot symbol records (#64799) 2026-10-14 13:58:18 +00:00
Jake Bailey 14f7762dde Recover concrete AST nodes from their embedded headers (#64798) 2026-10-14 13:56:23 +00:00
Jake Bailey 39b621793a Move cold value-symbol links out of the hot records (#64797) 2026-10-14 13:56:03 +00:00
Jake Bailey 3c105e1420 Compact type mappers and coallocate inference mapper storage (#64796) 2026-10-14 13:53:44 +00:00
Jake Bailey 86c0182bbf Avoid allocating normalized types on interning cache hits (#64795) 2026-10-14 13:51:10 +00:00
Jake Bailey 9eedcb0dd7 Presize checker type-list cache keys (#64794) 2026-10-14 00:56:28 +00:00
Jake Bailey ce609c851b Batch allocations of common checker types (#64793) 2026-10-14 00:56:27 +00:00
Jake Bailey f3a9375b53 Compact checker type metadata (#64774) 2026-10-14 00:56:26 +00:00
Jake Bailey 67a1c76aac Replace nodeData interface with generated AST accessors (#64773) 2026-10-14 00:56:25 +00:00
6aace8b1bb Add cache to getSimplifiedConditionalType (#64648)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ahejlsberg <4226954+ahejlsberg@users.noreply.github.com>
2026-10-14 00:22:31 +00:00
Christopher Plieger 3c1e603122 [api] Leave a config out of its own extended source files (#64755) 2026-10-13 23:34:23 +00:00
Mateusz Burzyński 7856840543 Fix crash on decorated anonymous class declaration (#63971) 2026-10-13 23:28:23 +00:00
Mateusz Burzyński 1d76970f7a Match Strada and don't resolve imports of ambient modules declared in the same file (#64491) 2026-10-13 23:26:36 +00:00
Andrew BranchandCopilot c9b2c8e29c Add content mapper output extensions (#64581)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 23:21:30 +00:00
Jake Bailey 3789ddb12a Fix symbol table kind mask (#64762) 2026-10-13 20:06:25 +00:00
Jake Bailey b82cd139dc Restore dependency-depth build scheduling (#64615) 2026-10-13 20:03:34 +00:00
Andre Fajar N 0a66074847 Fix nil panic when stripInternal elides type alias RHS (#64770) 2026-10-13 19:31:13 +00:00
Mateusz Burzyński a0a0ff55ca Port missing keyof simplification for generic mapped types with name types (#64772) 2026-10-13 17:13:08 +00:00
Mateusz Burzyński b5c34ba0c6 Restore symbol names in JSX import action titles (#64588) 2026-10-12 23:05:59 +00:00
Ryuya ba1819f3f9 Add Intl.PluralRules.selectRange typing to es2023.intl (#63424) 2026-10-12 22:10:02 +00:00
Fatih Çakır d11c071957 Fix invalid decorator examples in lib.decorators.d.ts (#64353) 2026-10-12 21:46:21 +00:00
fd871fcc3c Preserve replacement lib order during sorting (#64693)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@users.noreply.github.com>
Co-authored-by: Ryan Cavanaugh <RyanCavanaugh@users.noreply.github.com>
2026-10-12 20:10:49 +00:00
Anders Hejlsberg 96fffa9f65 Shrink ValueSymbolLinks by 16 bytes (#64739) 2026-10-12 19:00:52 +00:00
Trevor Florence bdc93bd987 Keep this inside functions nested in downleveled static blocks (#64738) 2026-10-12 18:45:59 +00:00
Mateusz Burzyński 71956e9735 Check package reachability before using exports in declarations (#64599) 2026-10-12 17:44:45 +00:00