Interface: FactorySpec
Defined in: source-locator.ts:67
One factory the compiler injects identity into.
Properties
args
args:
object
Defined in: source-locator.ts:74
Inclusive argument-count range for a call to qualify.
max
max:
number
min
min:
number
callee
callee:
string
Defined in: source-locator.ts:72
Callee identifier, matched syntactically — the call must literally read <callee>(…); aliases and re-exports are invisible (by design).
inject
inject: readonly (
"name"|"loc"|"description")[]
Defined in: source-locator.ts:85
Keys injected when absent. name behavior is governed by namePolicy.
namePolicy
namePolicy:
"optional"|"required"
Defined in: source-locator.ts:96
What happens when a call has no explicit name and no inferrable binding (not assigned to a const, an object property, or a plain assignment):
"optional"— skip injection entirely (anonymous cells are legal and get no loc/description either, exactly the pre-table behavior);"required"— compile error with a code frame (a control/action name is a durable key and a tool identity; the runtime would throw anyway, so fail earlier and better).
optionsArg
optionsArg:
number
Defined in: source-locator.ts:83
Index of the options object. When it can be ≥ the call's argument count the argument is appended on demand (cell: index 2 of a 2-arg call); when every qualifying call already has it (control/action: index 0) it is only ever merged into. A present-but-non-object options argument (a spread, a call) is left alone — the runtime's loud-failure guard is the backstop for those.