ExportNames
module ExportNames| Assembly | Xantham.Generator |
Functions and values
declarationExports (ctx: Context) (model: ShapeModel) : (int<typeId> * HarvestedExport) list
declarationExports (ctx: Context) (model: ShapeModel) : (int<typeId> * HarvestedExport) listThe export that owns each declared type's generated definition. Across shipped groups, the defining symbol takes precedence over an alias of it; within one group, the export whose owner path is shallowest, ordinal owner specifier and then harvest order breaking ties.
nameExports: Pass<ShapeModel>
nameExports: Pass<ShapeModel>Names every type-like export before anything refers to one, so later passes see references as FsNamed instead of expansions. Keys are type ids; when two exports share a declared type, declarationExports names it under the defining symbol across shipped groups, or otherwise under the shallowest owner path (ordinal owner specifier, then harvest order, breaking ties), and shape-aliases abbreviates the rest.
Source namespace members always retain their namespace module path. Two declarations competing for the same full path keep distinct names through a numeric suffix.