Expand description
Resolution of extracted C# fragments into a graph.
Structs§
- DefIndex
Vec<Def>in first-insertion order (partial-class duplicates land inalso_in, never as a second Vec entry) plus two lookup indexes over it:qualified_name_to_def(id -> index, every def incl. enum members) andsimple_name_to_defs(bare name -> indexes, EVERY def EXCEPT enum members – the asymmetry described in the module header).- ExtCandidate
- One bucket slot: which def declares the entry, and the entry itself (the range + generic-argument facts the tier filters on).
- Member
Lists - The non-method halves of a def’s member surface.
methodsstays onDef(it IS serialized). - Method
Overload Params - One method overload’s parameter-descriptor list plus its declaring file.
Functions§
- resolve_
graph - Resolve C# fragments into a graph. Pure:
fragments_by_fileis file-walk-ordered(rel, Fragment)pairs. No file I/O beyond the singlegit rev-parse HEADshell-out (manifest::git_head) that fillsbuilt_at_head– cheap enough to re-run on everydevscout mapwhose C# set changed, and unit-testable without a parser (see this module’s tests, which buildFragmentvalues by hand). - resolve_
graph_ with_ model - The same resolve again, now with the repo’s
.csprojproject model alongside. - resolve_
graph_ with_ ts - The same resolve, with the TS/TSX half alongside. The caller passes the two
halves already split (it reads the tag off each cache entry –
graph::AnyFragment), and each half goes to its own resolver.