GitNexus/gitnexus/test/unit/scope-resolution/csharp
Gergo Magyar ea6ee46ce2 feat(csharp-scope): parity Unit 5a — IMPORTS edge + static-using mapping
Closes 1 parity failure (21 → 20). Fixes cross-file IMPORTS edge
emission for C#:

- `languages/csharp/interpret.ts`: map `using static X.Y;` to
  `kind: 'namespace'` rather than `'wildcard'`. The File→File
  IMPORTS edge needs a non-wildcard kind to survive finalize's
  Phase 4 (wildcard-expanded edges drop to empty when the provider
  doesn't implement `expandsWildcardTo`). Unqualified static-member
  access is a deferred limitation — covered by the namespace-siblings
  cross-namespace pass for type lookups, and documented under the
  module's Known Limitations.
- `languages/csharp/import-target.ts`: progressive prefix stripping.
  `using CrossFile.Models;` in a repo laid out `Models/User.cs` (no
  `CrossFile/` directory) works because the legacy resolver consults
  csproj; the scope-resolver tries each suffix of the dotted path
  against `.cs` files. Also handles `using static NS.Type;` by
  stripping leading segments until a direct match lands.
- `test/unit/scope-resolution/csharp/csharp-imports.test.ts`: update
  the `using static` test to the new namespace-kind shape.

376/376 scope-resolution unit tests pass; legacy 175/175 green;
20 parity failures remain.
2026-04-21 19:49:56 +01:00
..
csharp-captures.test.ts feat(csharp-scope): parity Unit 1 — this/base receiver-binding synthesis 2026-04-21 18:26:00 +01:00
csharp-hooks.test.ts feat(csharp-scope): Unit 5 — arity metadata synthesis + compatibility 2026-04-21 17:27:36 +01:00
csharp-imports.test.ts feat(csharp-scope): parity Unit 5a — IMPORTS edge + static-using mapping 2026-04-21 19:49:56 +01:00