pub struct EventReferences { /* private fields */ }Expand description
The EventReferences struct contains for every variable v in a
trace, the set of all it’s immediate dependencies, i.e. all the
symbols used to directly define v, as computed by uses_in_exp.
Implementations§
Source§impl EventReferences
impl EventReferences
pub fn from_events<B, E: Borrow<Event<B>>>(events: &[E]) -> Self
Sourcepub fn dependencies(&self, symbol: Sym) -> HashSet<Sym>
pub fn dependencies(&self, symbol: Sym) -> HashSet<Sym>
Follow all the dependencies of a symbol in the events, returning the set of symbols it recursively depends on, (including itself).
Sourcepub fn taints<B: BV, E: Borrow<Event<B>>>(
&self,
symbol: Sym,
events: &[E],
) -> (Taints, bool)
pub fn taints<B: BV, E: Borrow<Event<B>>>( &self, symbol: Sym, events: &[E], ) -> (Taints, bool)
Returns the set of registers a symbolic variable is tainted by, i.e. any symbolic registers upon which the variable depends upon. Also returns whether the value depends upon a symbolic memory read.
Sourcepub fn value_taints<B: BV, E: Borrow<Event<B>>>(
&self,
val: &Val<B>,
events: &[E],
) -> (Taints, bool)
pub fn value_taints<B: BV, E: Borrow<Event<B>>>( &self, val: &Val<B>, events: &[E], ) -> (Taints, bool)
Like taints but for all symbolic variables in a value
pub fn collect_taints<B: BV, E: Borrow<Event<B>>>( &self, symbol: Sym, events: &[E], taints: &mut Taints, memory: &mut bool, )
pub fn collect_value_taints<B: BV, E: Borrow<Event<B>>>( &self, val: &Val<B>, events: &[E], taints: &mut Taints, memory: &mut bool, )
Auto Trait Implementations§
impl Freeze for EventReferences
impl RefUnwindSafe for EventReferences
impl Send for EventReferences
impl Sync for EventReferences
impl Unpin for EventReferences
impl UnwindSafe for EventReferences
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more