TheFedaikin and Claude Opus 4.8
76b6eabdb0
feat(extract): resolve C# cross-file type references + enum/struct/record ( #1466 )
...
Adds _resolve_csharp_type_references (graphify/extractors/csharp.py), the C#
counterpart to _resolve_java_type_references. It re-points dangling
inherits/implements/references edges from no-source shadow stubs onto the real
definitions, disambiguating same-named types across namespaces using the
referencing file's `using` directives + enclosing namespace; ambiguous matches
are refused (unique-hit guardrail), not guessed. Runs after id-disambiguation and
the sourceless-stub rewire, on the ambiguous remainder, behind a log-and-skip
try/except. _CSHARP_CONFIG is broadened to extract enum/struct/record as type
definitions so references to them resolve too.
Ported from PR #1466 by @TheFedaikin. Known follow-up: types declared in
nested/multiple namespaces in one file aren't registered as targets yet (fails
safe — under-resolves to a stub, never mis-resolves). Advances #1318 for C#.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-27 23:36:47 +01:00
..
2026-06-27 10:19:15 +01:00
2026-04-04 18:52:44 +01:00
2026-06-23 13:21:38 +01:00
2026-05-02 12:54:08 +05:30
2026-05-22 13:22:51 +01:00
2026-06-17 10:29:43 +01:00
2026-06-23 17:26:49 +01:00
2026-05-30 21:37:47 +01:00
2026-06-16 01:41:15 +01:00
2026-06-02 23:48:54 +01:00
2026-05-13 10:07:50 -07:00
2026-06-03 00:08:03 +01:00
2026-05-22 13:22:51 +01:00
2026-06-24 08:54:11 +01:00
2026-06-11 23:22:20 +01:00
2026-05-22 13:22:51 +01:00
2026-06-11 15:08:36 -06:00
2026-05-17 11:32:38 +01:00
2026-04-30 22:08:28 +10:00
2026-06-11 09:58:39 -04:00
2026-04-28 00:56:54 +01:00
2026-06-22 21:15:51 +01:00
2026-05-12 02:23:51 +03:00
2026-06-07 14:34:13 +01:00
2026-04-06 16:06:31 +01:00
2026-06-02 22:23:15 +01:00
2026-06-27 23:36:47 +01:00
2026-06-11 19:52:56 +03:00
2026-06-17 14:21:19 +01:00
2026-06-18 01:15:24 +01:00
2026-05-26 09:17:18 +01:00
2026-06-26 10:23:10 +01:00
2026-05-13 23:19:15 +01:00
2026-06-25 12:26:10 +01:00
2026-06-11 14:02:32 +08:00
2026-06-27 23:32:55 +01:00
2026-06-18 22:55:44 +01:00
2026-06-07 15:03:49 +03:00
2026-05-31 17:09:30 +01:00
2026-06-18 01:55:56 +01:00
2026-06-11 09:36:38 +02:00
2026-05-07 20:07:57 +01:00
2026-06-22 17:02:29 +01:00
2026-06-22 17:02:29 +01:00
2026-06-18 22:55:44 +01:00
2026-06-07 01:20:38 +01:00
2026-05-05 00:07:50 +02:00
2026-06-17 10:46:08 +01:00
2026-06-24 11:43:13 +01:00
2026-06-13 15:13:23 +01:00
2026-06-02 20:48:13 +01:00
2026-06-03 00:00:33 +01:00
2026-06-05 22:15:09 +01:00
2026-06-23 00:18:47 +01:00
2026-06-18 01:18:48 +01:00
2026-06-17 10:29:47 +01:00
2026-06-18 22:50:52 +01:00
2026-06-27 10:19:15 +01:00
2026-06-27 10:19:15 +01:00
2026-06-27 10:19:15 +01:00
2026-05-28 17:44:35 +02:00
2026-06-19 10:25:09 +01:00
2026-05-26 20:16:41 +01:00
2026-06-10 15:50:38 +01:00
2026-05-22 13:22:51 +01:00
2026-05-22 13:22:51 +01:00
2026-05-28 14:46:03 +01:00
2026-06-10 19:31:47 +01:00
2026-05-31 16:41:18 +01:00
2026-06-02 22:50:33 +01:00
2026-06-02 22:50:33 +01:00
2026-06-16 01:41:15 +01:00
2026-05-09 15:52:17 +01:00
2026-05-13 23:19:15 +01:00
2026-06-10 12:45:20 +01:00
2026-04-15 23:08:43 +01:00
2026-06-02 22:16:58 +01:00
2026-05-16 22:36:58 +01:00
2026-05-24 20:38:10 +01:00
2026-05-22 13:22:51 +01:00
2026-06-03 21:04:01 +01:00
2026-05-27 22:30:08 +01:00
2026-06-25 20:33:00 +01:00
2026-06-26 10:09:52 +01:00
2026-05-02 18:09:32 +01:00
2026-05-22 13:22:51 +01:00
2026-06-22 17:02:29 +01:00
2026-05-22 13:22:51 +01:00
2026-04-06 16:06:31 +01:00
2026-06-07 00:43:40 +01:00
2026-06-24 21:19:40 +01:00
2026-06-25 14:05:34 +01:00
2026-06-17 12:08:59 +01:00
2026-06-16 03:06:43 +01:00
2026-05-22 13:22:51 +01:00
2026-06-05 21:46:25 +01:00
2026-04-10 15:55:22 +01:00
2026-05-31 16:47:52 +01:00
2026-06-24 08:54:11 +01:00
2026-06-26 10:20:53 +01:00
2026-06-24 11:29:08 +01:00
2026-06-23 17:26:49 +01:00
2026-06-27 10:19:15 +01:00