mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-09-22 00:31:17 +00:00
Closes 3 parity failures (51 → 48). Target bucket: Category C from the parity plan. Changes: - `languages/csharp/receiver-binding.ts` (new): walks up from a function node to the enclosing class/struct/record/interface, synthesizes `@type-binding.self` captures with boundName `'this'` (and `'base'` when the enclosing type is a class/record with an explicit base_list entry). Skips static methods and interface / struct `base` cases. Anchors to the method's `body` block so the scope-extractor's positionIndex places the binding inside the function scope (not the enclosing class scope). - `languages/csharp/captures.ts`: route `@scope.function` matches through the synth, emitting the receiver captures as separate matches. - `languages/csharp/interpret.ts`: map `@type-binding.self` to `source: 'self'` (parity with Python). - `languages/csharp/query.ts`: explicit patterns for `this.X()`, `base.X()`, and `this.X = ...` / `base.X = ...` assignment writes. `this` and `base` are anonymous tokens in tree-sitter-c-sharp so the existing `expression: (_)` pattern (named-only) didn't match. Tests: - 8 new unit tests for receiver-binding synthesis edge cases (class/struct/record/interface, static, nested, constructor, local function inside method). - Parity: 48 failed | 127 passed (175) under REGISTRY_PRIMARY_CSHARP=1; legacy path 175/175 green. |
||
|---|---|---|
| .. | ||
| csharp | ||
| python | ||
| def-index.test.ts | ||
| emit-references.test.ts | ||
| finalize-algorithm.test.ts | ||
| finalize-orchestrator.test.ts | ||
| import-target-adapter.test.ts | ||
| method-dispatch-index.test.ts | ||
| module-scope-index.test.ts | ||
| parse-worker-scope-integration.test.ts | ||
| position-index.test.ts | ||
| qualified-name-index.test.ts | ||
| registries.test.ts | ||
| resolve-type-ref.test.ts | ||
| scope-extractor.test.ts | ||
| scope-id.test.ts | ||
| scope-tree.test.ts | ||
| shadow-harness.test.ts | ||
| workspace-index.test.ts | ||