Skip to main content

Module visitor

Module visitor 

Source
Expand description

Backward path visitor β€” walks a finite path backward from a checkpoint and keeps only MIR items that can affect the required property.

The def-use layer lives in super::super::def_use; this module focuses on the path-level control flow decisions: calls, SCC exits, and path-condition branches.

StructsΒ§

BackwardSlicer πŸ”’
Entry point for backward path visiting.

FunctionsΒ§

collect_flow_uses πŸ”’
Collect the source locals of the dataflow edges entering (block, statement_index) from the def locals of defs.
collect_statement_uses πŸ”’
Collect all place-uses for a statement from dataflow edges and operands.
needs_invalidation_tracking πŸ”’
Whether a property’s checker reads allocation liveness (alloc.facts.dead), so the backward slice must keep StorageDead/StorageLive/Drop unconditionally (the allocation owner may not be reachable from the pointer target, e.g. a raw pointer into a separately-owned Vec/Box buffer).
statement_can_refine πŸ”’
terminator_is_path_condition πŸ”’