Expand description
Infers mutable ranges for identifiers and populates Place effects.
Ported from TypeScript src/Inference/InferMutationAliasingRanges.ts.
This pass builds an abstract model of the heap and interprets the effects of the given function in order to determine:
- The mutable ranges of all identifiers in the function
- The externally-visible effects of the function (mutations of params/context vars, aliasing between params/context-vars/return-value)
- The legacy
Effectto store on each Place
Functionsยง
- infer_
mutation_ aliasing_ ranges - Infers mutable ranges for identifiers and populates Place effects.