safishamsi and Claude Opus 4.8
0858954db9
feat(csharp): namespace-aware member-call resolution + shadow poisoning ( #1609 )
...
Adapted from #1620 by @TheFedaikin, reworked onto v8 as a focused change
(without the module split or the references-fallback behavior change).
Builds on the shipped #1609 resolver: instead of bailing when a receiver's
class name is ambiguous corpus-wide, the declared type is resolved with a
shared CsharpNameResolver (same-namespace, using-directive, and alias aware)
against the caller's namespace/scope, falling back to the unique bare match
only when scoping is non-decisive. Adds base./this.field receivers and
inherited-member lookup through the inherits chain (an out-of-corpus base
poisons the lookup, so no wrong edge). The per-file type table now poisons a
name on any conflicting rebinding, killing the wrong-edge class where a local
shadows a field of a different type. C#-gated; never emits a wrong edge.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-26 12:43:17 +01:00
..
2026-07-26 11:08:10 +01:00
2026-07-15 15:09:17 +01:00
2026-07-25 18:02:33 +01:00
2026-07-21 18:39:05 +01:00
2026-07-05 11:41:18 +01:00
2026-07-11 11:52:12 +01:00
2026-07-26 11:52:20 +01:00
2026-07-16 23:48:07 +01:00
2026-07-20 13:29:54 +01:00
2026-07-26 11:52:20 +01:00
2026-07-08 12:09:40 +01:00
2026-07-16 16:38:12 +01:00
2026-07-14 13:19:16 +01:00
2026-07-01 15:09:42 +01:00
2026-07-16 23:48:07 +01:00
2026-07-15 13:13:30 +01:00
2026-07-22 15:57:54 +01:00
2026-07-18 19:07:16 +01:00
2026-07-12 23:57:16 +01:00
2026-07-11 16:31:10 +01:00
2026-07-18 19:07:16 +01:00
2026-07-01 11:52:50 +01:00
2026-07-01 10:49:43 +01:00
2026-06-30 18:30:05 +01:00
2026-07-18 12:04:23 +01:00
2026-07-08 01:16:58 +01:00
2026-07-26 12:43:17 +01:00
2026-06-30 19:32:10 +01:00
2026-07-26 11:52:20 +01:00
2026-07-24 23:47:25 +01:00
2026-07-22 19:31:19 +01:00
2026-07-17 00:09:02 +01:00
2026-07-22 15:27:07 +01:00
2026-07-16 23:42:47 +01:00
2026-07-13 10:29:26 +01:00
2026-07-20 11:31:36 +01:00
2026-07-22 18:40:11 +01:00
2026-07-26 11:08:10 +01:00
2026-06-28 16:57:00 +01:00
2026-07-09 13:22:36 +01:00
2026-07-20 16:35:14 +01:00
2026-06-28 16:57:00 +01:00
2026-07-06 16:43:21 +01:00
2026-07-20 15:35:40 +01:00
2026-07-25 18:02:33 +01:00
2026-07-06 16:49:31 +01:00
2026-07-18 19:07:16 +01:00
2026-07-26 11:08:10 +01:00
2026-06-30 16:58:23 +01:00
2026-07-02 22:29:32 +01:00
2026-07-20 11:29:22 +01:00
2026-07-25 22:53:43 +01:00
2026-07-25 22:53:43 +01:00
2026-06-30 23:26:13 +01:00
2026-07-01 10:30:47 +01:00
2026-07-24 23:37:14 +01:00
2026-07-06 16:43:21 +01:00
2026-07-06 16:38:42 +01:00
2026-07-26 11:10:35 +01:00
2026-07-10 02:11:36 +01:00
2026-07-09 10:44:50 +01:00
2026-07-20 11:41:44 +01:00
2026-07-25 23:16:52 +01:00
2026-07-21 12:59:10 +01:00
2026-06-29 09:40:22 +01:00
2026-07-20 15:40:32 +01:00
2026-07-20 11:29:22 +01:00
2026-07-02 22:29:30 +01:00
2026-07-04 22:12:47 +01:00
2026-07-17 10:54:07 +01:00
2026-07-08 12:45:08 +01:00
2026-07-26 11:08:10 +01:00
2026-07-03 18:34:41 +01:00
2026-07-04 22:12:47 +01:00
2026-07-06 12:44:47 +01:00
2026-07-17 00:02:15 +01:00
2026-07-09 00:32:21 +01:00
2026-07-09 00:32:21 +01:00
2026-07-09 01:06:02 +01:00
2026-07-21 12:54:58 +01:00
2026-06-30 16:59:16 +01:00
2026-07-16 16:36:49 +01:00
2026-07-04 21:22:39 +01:00
2026-07-04 03:12:23 +01:00
2026-07-15 19:51:53 +01:00
2026-07-18 12:03:47 +01:00
2026-07-25 22:53:43 +01:00
2026-07-21 21:45:53 +01:00
2026-07-12 10:36:00 +01:00
2026-07-06 00:45:51 +01:00
2026-07-06 16:38:42 +01:00
2026-06-30 12:57:33 +01:00
2026-07-06 12:36:12 +01:00
2026-07-07 10:57:52 +01:00
2026-07-11 11:31:47 +01:00
2026-07-18 19:07:16 +01:00
2026-07-10 20:24:25 +01:00
2026-07-18 19:09:53 +01:00
2026-07-16 23:36:49 +01:00
2026-07-04 03:12:23 +01:00
2026-07-15 15:14:34 +01:00
2026-07-02 12:11:51 +01:00
2026-07-21 21:46:42 +01:00
2026-07-25 22:53:43 +01:00
2026-06-30 23:15:52 +01:00
2026-07-16 16:38:12 +01:00
2026-07-21 14:22:50 +01:00
2026-07-26 11:52:20 +01:00
2026-07-25 15:44:50 +01:00
2026-07-02 11:46:22 +01:00
2026-06-30 16:59:16 +01:00
2026-07-02 22:38:29 +01:00
2026-07-02 22:38:28 +01:00
2026-07-04 03:12:23 +01:00
2026-07-02 22:38:29 +01:00
2026-07-03 16:03:18 +01:00
2026-07-14 23:32:02 +01:00
2026-07-26 11:52:20 +01:00
2026-07-20 13:57:12 +01:00
2026-06-27 10:19:15 +01:00
2026-07-18 12:03:34 +01:00
2026-07-05 10:33:07 +01:00