fix(csharp): emit generic_arg references for field types - #2994
Graphify — looks good
Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).
Details
Graphify reviewed this change.
Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).
Graphify review — findings
Adds generic type-argument references for C# field declarations by routing field types through _csharp_receiver_type_name and _csharp_collect_type_refs, so Box<IAlpha> now emits both a field reference to Box and a generic_arg reference to IAlpha. Continues to skip type parameters and self-references. Covers the new behavior with test_csharp_field_generic_type_arguments_emit_references and test_csharp_field_type_parameter_emits_no_reference.
No blocking issues surfaced. 3 lower-confidence candidates did not survive cross-model review.
Analysis details — impact, health, verification
Impact & health
Graphify review
Impact — 905 functions depend on the 698 functions this change touches.
Health — this change adds coupling hotspots:
- new:
_extract_generic()— 18 callers, 24 callees - new:
extract_xaml()— 19 callers, 17 callees - new:
extract_objc()— 27 callers, 9 callees - new:
extract_js()— 80 callers, 3 callees - new:
extract_julia()— 16 callers, 7 callees - new:
extract_vue()— 10 callers, 6 callees - new:
walk()— 1 callers, 56 callees - new:
extract_groovy()— 14 callers, 3 callees - …and 7 more — each is listed as a finding
Verification — 905 functions in the blast radius were not formally verified this run (proofs are advisory here).
Gate & verification
graphify gate
PASS — objectively clean (no health regressions, tests not run — proofs not run this pass (advisory)). Grounded, not self-assessed.
Advisory (not blocking):
- verification_scope: 863 function(s) in the blast radius were not formally verified this run