JensD-git and Claude Opus 5.5
92d9197787
fix(csharp): merge nested and generic partial types by their full type path ( #4363 )
...
The partial merge grouped halves by (namespace, label) and skipped nested
types, because nested ids omit the enclosing type. A nested partial type split
across files stayed split, and `Box` / `Box<T>` partials were folded into one
node although they are distinct types (#4249 ).
- The C# extractor records each partial type's path inside its namespace,
enclosing types first, each with its arity (`Outer`1.Inner`), as
metadata.type_path; the merge keys on (assembly, namespace, type_path).
- The cross-file call pass binds a C# unqualified call to the one candidate
that is a member of the caller's own type, so a call into another half of a
partial type is not lost to a same-named method elsewhere (#4252 does this
in-file only). Ties fall through unchanged.
- After C# type resolution, a merged partial type drops a placeholder base
that sits next to a real base of the same name; one half resolving a sibling
nested base and the other not left two bases, and base-chain lookups failed.
- _AST_CACHE_SCHEMA 8 -> 9, so cached C# results without type_path are
re-extracted.
Fixes #4363 .
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-12 14:18:31 +02:00
..
2026-09-21 19:19:26 +01:00
2026-10-10 22:13:39 +01:00
2026-10-11 20:47:55 +01:00
2026-10-08 14:27:06 +01:00
2026-10-05 19:40:12 +01:00
2026-10-09 19:18:06 +01:00
2026-09-29 13:49:39 +01:00
2026-10-05 20:11:30 +01:00
2026-10-02 17:10:08 +01:00
2026-09-21 19:44:17 +01:00
2026-10-07 17:26:00 +01:00
2026-10-04 20:40:34 +01:00
2026-09-22 15:00:07 +01:00
2026-09-22 14:58:22 +01:00
2026-10-11 20:49:42 +01:00
2026-10-09 02:48:22 +01:00
2026-10-08 14:27:06 +01:00
2026-09-30 20:41:10 +01:00
2026-09-25 15:44:08 +01:00
2026-10-11 21:07:15 +01:00
2026-10-02 17:10:07 +01:00
2026-10-06 20:54:55 +01:00
2026-10-02 17:10:07 +01:00
2026-09-27 18:56:31 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-10-02 16:50:45 +01:00
2026-10-09 19:19:01 +01:00
2026-10-04 20:23:44 +01:00
2026-10-06 20:54:15 +01:00
2026-10-09 19:19:15 +01:00
2026-10-09 19:17:53 +01:00
2026-10-12 14:18:31 +02:00
2026-09-27 18:39:52 +01:00
2026-10-12 14:18:31 +02:00
2026-10-04 02:07:23 +01:00
2026-10-04 02:09:34 +01:00
2026-09-25 16:01:47 +01:00
2026-10-11 20:49:25 +01:00
2026-10-11 20:47:55 +01:00
2026-09-28 10:15:38 +01:00
2026-10-10 21:20:29 +01:00
2026-10-08 14:28:54 +01:00
2026-10-08 14:28:27 +01:00
2026-10-04 20:23:14 +01:00
2026-10-07 17:26:00 +01:00
2026-10-11 20:49:42 +01:00
2026-10-11 20:49:42 +01:00
2026-10-09 02:51:03 +01:00
2026-10-11 21:06:09 +01:00
2026-09-23 16:54:04 +01:00
2026-10-06 20:54:15 +01:00
2026-10-07 17:26:17 +01:00
2026-10-07 17:52:47 +01:00
2026-09-23 19:45:40 +01:00
2026-10-10 22:11:03 +01:00
2026-09-30 20:10:34 +01:00
2026-09-22 14:58:12 +01:00
2026-09-22 14:58:12 +01:00
2026-10-09 19:46:57 +01:00
2026-10-08 14:27:06 +01:00
2026-09-30 20:41:10 +01:00
2026-10-10 21:37:39 +01:00
2026-10-10 21:37:04 +01:00
2026-10-11 20:47:44 +01:00
2026-10-10 21:20:29 +01:00
2026-10-04 02:08:29 +01:00
2026-10-09 19:18:06 +01:00
2026-10-06 20:54:35 +01:00
2026-09-25 16:15:15 +01:00
2026-09-20 13:59:26 +01:00
2026-10-04 20:23:44 +01:00
2026-09-28 09:13:29 +01:00
2026-10-09 19:18:06 +01:00
2026-10-09 19:18:06 +01:00
2026-10-10 01:13:46 +01:00
2026-10-07 17:26:00 +01:00
2026-09-20 13:59:25 +01:00
2026-09-30 20:10:34 +01:00
2026-10-09 19:17:53 +01:00
2026-10-10 22:11:03 +01:00
2026-10-04 20:23:14 +01:00
2026-09-27 18:39:52 +01:00
2026-10-05 19:40:12 +01:00
2026-09-30 20:41:10 +01:00
2026-09-22 17:30:28 +01:00
2026-10-11 20:47:44 +01:00
2026-10-11 21:06:27 +01:00
2026-10-11 20:47:44 +01:00
2026-10-11 20:49:42 +01:00
2026-10-10 01:24:41 +01:00
2026-10-02 16:50:45 +01:00
2026-09-30 20:41:10 +01:00
2026-10-07 17:26:00 +01:00
2026-10-09 19:18:06 +01:00
2026-10-05 20:12:06 +01:00
2026-10-10 21:39:00 +01:00
2026-10-07 17:26:17 +01:00
2026-10-07 17:26:17 +01:00
2026-10-09 19:18:06 +01:00
2026-10-05 19:40:03 +01:00
2026-09-26 13:45:58 +01:00
2026-10-07 17:26:00 +01:00
2026-10-10 01:13:46 +01:00
2026-10-07 17:26:00 +01:00
2026-10-05 19:40:04 +01:00
2026-10-11 20:49:42 +01:00
2026-09-28 10:18:13 +01:00
2026-10-05 19:40:12 +01:00
2026-10-08 14:27:06 +01:00
2026-09-25 15:44:21 +01:00
2026-10-08 14:28:20 +01:00
2026-10-06 20:54:15 +01:00
2026-10-08 14:29:00 +01:00
2026-10-08 14:29:19 +01:00
2026-10-10 01:33:40 +01:00
2026-10-08 14:28:54 +01:00
2026-10-10 01:28:39 +01:00
2026-10-10 01:01:10 +01:00
2026-10-09 19:17:53 +01:00
2026-10-08 14:27:06 +01:00
2026-10-10 22:11:03 +01:00
2026-10-02 17:10:07 +01:00
2026-10-05 20:11:30 +01:00
2026-10-02 17:10:07 +01:00
2026-10-09 02:48:23 +01:00
2026-10-04 01:43:04 +01:00
2026-09-18 15:16:09 +01:00
2026-10-11 21:07:09 +01:00
2026-10-02 17:10:07 +01:00
2026-10-11 21:06:10 +01:00
2026-10-10 21:20:29 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 02:07:00 +01:00
2026-10-07 17:26:00 +01:00
2026-10-04 01:44:11 +01:00
2026-10-09 19:18:06 +01:00
2026-10-11 21:06:10 +01:00
2026-10-09 19:17:53 +01:00
2026-10-05 20:12:34 +01:00
2026-10-09 19:18:06 +01:00
2026-10-11 21:06:10 +01:00
2026-10-07 17:26:00 +01:00
2026-10-07 17:26:00 +01:00
2026-10-10 22:11:03 +01:00
2026-10-02 17:10:07 +01:00
2026-09-23 17:01:39 +01:00
2026-10-04 01:43:04 +01:00
2026-10-08 14:27:06 +01:00
2026-10-04 20:40:34 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-09-20 13:59:25 +01:00
2026-10-09 19:18:06 +01:00
2026-09-27 18:39:51 +01:00
2026-10-11 20:49:48 +01:00
2026-10-02 17:10:07 +01:00
2026-10-10 21:38:54 +01:00
2026-09-20 18:53:35 +01:00
2026-10-08 14:27:33 +01:00
2026-10-07 17:26:11 +01:00
2026-10-11 20:47:44 +01:00
2026-10-09 19:18:06 +01:00
2026-09-30 20:41:10 +01:00
2026-10-07 17:26:00 +01:00
2026-10-06 20:54:15 +01:00
2026-10-10 21:37:47 +01:00
2026-09-28 10:15:38 +01:00