1
Fork 0

Add defaults for Analysis::apply_{call_return_effect,terminator_effect}.

To avoid some low-value boilerplate code.
This commit is contained in:
Nicholas Nethercote 2024-10-10 12:06:25 +11:00
parent ba13775319
commit 33abf6a0c8
5 changed files with 11 additions and 72 deletions

View file

@ -164,10 +164,12 @@ pub trait Analysis<'tcx> {
/// initialized here.
fn apply_terminator_effect<'mir>(
&mut self,
state: &mut Self::Domain,
_state: &mut Self::Domain,
terminator: &'mir mir::Terminator<'tcx>,
location: Location,
) -> TerminatorEdges<'mir, 'tcx>;
_location: Location,
) -> TerminatorEdges<'mir, 'tcx> {
terminator.edges()
}
/// Updates the current dataflow state with an effect that occurs immediately *before* the
/// given terminator.
@ -192,10 +194,11 @@ pub trait Analysis<'tcx> {
/// edges.
fn apply_call_return_effect(
&mut self,
state: &mut Self::Domain,
block: BasicBlock,
return_places: CallReturnPlaces<'_, 'tcx>,
);
_state: &mut Self::Domain,
_block: BasicBlock,
_return_places: CallReturnPlaces<'_, 'tcx>,
) {
}
/// Updates the current dataflow state with the effect of taking a particular branch in a
/// `SwitchInt` terminator.

View file

@ -208,14 +208,6 @@ impl<'tcx, D: Direction> Analysis<'tcx> for MockAnalysis<'tcx, D> {
let idx = self.effect(Effect::Before.at_index(location.statement_index));
assert!(state.insert(idx));
}
fn apply_call_return_effect(
&mut self,
_state: &mut Self::Domain,
_block: BasicBlock,
_return_places: CallReturnPlaces<'_, 'tcx>,
) {
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]