pub trait DFGLocationQuery<V: Value, A: Arch + ValueLocations>where
Self: Sized,{
type Indirect: IndirectQuery<V>;
// Required methods
fn read_loc(&self, loc: A::Location) -> V;
fn indirect_loc(&self, loc: A::Location) -> Self::Indirect;
// Provided methods
fn read<T: ToDFGLoc<A::Location>>(&self, loc: &T) -> V { ... }
fn indirect<T: ToDFGLoc<A::Location>>(&self, loc: &T) -> Self::Indirect { ... }
}Expand description
it’s relatively common to want to query a dfg at one address, for multiple values/read-write
accesses. DFGLocationQuery is essentially a helper to curry a specific address for future
queries.
Required Associated Types§
type Indirect: IndirectQuery<V>
Required Methods§
fn read_loc(&self, loc: A::Location) -> V
fn indirect_loc(&self, loc: A::Location) -> Self::Indirect
Provided Methods§
fn read<T: ToDFGLoc<A::Location>>(&self, loc: &T) -> V
fn indirect<T: ToDFGLoc<A::Location>>(&self, loc: &T) -> Self::Indirect
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.