Field-sensitive intra-procedural Andersen pointer analysis. 1. collect constraints from MIR to build a `ConstraintGraph` 2. adopt a fixed-point algorithm to update `ConstraintGraph` and points-to info There are several changes: 1. Use a place to represent a memroy cell. 2. Create an Alloc node for each
| 47 | /// 5. Interproc methods: Use parameters' type info to guide the analysis heuristically (simple but powerful). |
| 48 | /// 6. Interproc closures: Track the upvars of closures in the functions defining the closures (restricted). |
| 49 | pub struct Andersen<'a, 'tcx> { |
| 50 | body: &'a Body<'tcx>, |
| 51 | tcx: TyCtxt<'tcx>, |
| 52 | pts: PointsToMap<'tcx>, |
| 53 | } |
| 54 | |
| 55 | pub type PointsToMap<'tcx> = FxHashMap<ConstraintNode<'tcx>, FxHashSet<ConstraintNode<'tcx>>>; |
| 56 |
nothing calls this directly
no outgoing calls
no test coverage detected