pub trait ResultsVisitor<'mir, 'tcx, A>where
A: Analysis<'tcx>,{
// Provided methods
fn visit_block_start(&mut self, _state: &A::Domain) { ... }
fn visit_after_early_statement_effect(
&mut self,
_results: &mut Results<'tcx, A>,
_state: &A::Domain,
_statement: &'mir Statement<'tcx>,
_location: Location,
) { ... }
fn visit_after_primary_statement_effect(
&mut self,
_results: &mut Results<'tcx, A>,
_state: &A::Domain,
_statement: &'mir Statement<'tcx>,
_location: Location,
) { ... }
fn visit_after_early_terminator_effect(
&mut self,
_results: &mut Results<'tcx, A>,
_state: &A::Domain,
_terminator: &'mir Terminator<'tcx>,
_location: Location,
) { ... }
fn visit_after_primary_terminator_effect(
&mut self,
_results: &mut Results<'tcx, A>,
_state: &A::Domain,
_terminator: &'mir Terminator<'tcx>,
_location: Location,
) { ... }
fn visit_block_end(&mut self, _state: &A::Domain) { ... }
}
Expand description
A visitor over the results of an Analysis
. Use this when you want to inspect domain values in
many or all locations; use ResultsCursor
if you want to inspect domain values only in certain
locations.
Provided Methods§
fn visit_block_start(&mut self, _state: &A::Domain)
Sourcefn visit_after_early_statement_effect(
&mut self,
_results: &mut Results<'tcx, A>,
_state: &A::Domain,
_statement: &'mir Statement<'tcx>,
_location: Location,
)
fn visit_after_early_statement_effect( &mut self, _results: &mut Results<'tcx, A>, _state: &A::Domain, _statement: &'mir Statement<'tcx>, _location: Location, )
// njn: grep for “before”, “primary”, etc.
Called after the “early” effect of the given statement is applied to state
.
Sourcefn visit_after_primary_statement_effect(
&mut self,
_results: &mut Results<'tcx, A>,
_state: &A::Domain,
_statement: &'mir Statement<'tcx>,
_location: Location,
)
fn visit_after_primary_statement_effect( &mut self, _results: &mut Results<'tcx, A>, _state: &A::Domain, _statement: &'mir Statement<'tcx>, _location: Location, )
Called after the “primary” effect of the given statement is applied to state
.
Sourcefn visit_after_early_terminator_effect(
&mut self,
_results: &mut Results<'tcx, A>,
_state: &A::Domain,
_terminator: &'mir Terminator<'tcx>,
_location: Location,
)
fn visit_after_early_terminator_effect( &mut self, _results: &mut Results<'tcx, A>, _state: &A::Domain, _terminator: &'mir Terminator<'tcx>, _location: Location, )
Called after the “early” effect of the given terminator is applied to state
.
Sourcefn visit_after_primary_terminator_effect(
&mut self,
_results: &mut Results<'tcx, A>,
_state: &A::Domain,
_terminator: &'mir Terminator<'tcx>,
_location: Location,
)
fn visit_after_primary_terminator_effect( &mut self, _results: &mut Results<'tcx, A>, _state: &A::Domain, _terminator: &'mir Terminator<'tcx>, _location: Location, )
Called after the “primary” effect of the given terminator is applied to state
.
The call_return_effect
(if one exists) will not be applied to state
.