ShapeModel Type
Record fields
| Record Field |
Description
|
Type id -> the F# type name this run declares for it - exports named first, then synthesized names for reachable anonymous shapes (hash-consing by id, §4.4). What lets a reference come out as `FsNamed` rather than an expansion.
|
|
|
|
|
Type id -> the type-parameter ids a declaration reads without binding, in first-use
order (§4.9). An anonymous object type hoisted out of a generic scope - the `props`
of `each
|
|
|
|
`Exports` members accumulated by the class/function/value passes, keyed by harvest position so `order-declarations` can assemble them in source order.
|
|
|
|
|
|
Type-parameter id -> the support-package idiom its uses are written as, for the signature currently being shaped (§4.10). Scoped like `TypeVars`, and for the same reason: `K extends keyof T` binds nothing outside the signature that declared it.
|
|
|
Type-parameter id -> the name it is in scope under, for the declaration currently being shaped. Scope lives on the model rather than in `typeRef`'s arguments because it is a property of *where* the reference is written, not of the reference: a pass binds it once around a declaration and every nested `typeRef` inherits it.
|
|