Trait EncodingAnalysisCache
pub trait EncodingAnalysisCache<A: Arch> {
// Required methods
fn infer_accesses<O: Oracle<A>>(
&self,
o: &mut O,
instr: &Instruction,
) -> Result<MemoryAccesses<A>, AccessAnalysisError<A>>;
fn infer_dataflow<O: Oracle<A>>(
&self,
o: &mut O,
memory_accesses: &MemoryAccesses<A>,
) -> Result<Dataflows<A, ()>, DataflowAnalysisError<A>>;
fn infer_threshold_values<O: Oracle<A>>(
&self,
o: &mut O,
dataflows: &Dataflows<A, ()>,
state_gen: &StateGen<'_, A, O::MappableArea>,
) -> ThresholdValues<A>;
fn num_entries(&self) -> usize;
}
Expand description
Generic trait for an encoding analysis cache.
Required Methods§
fn infer_accesses<O: Oracle<A>>( &self, o: &mut O, instr: &Instruction, ) -> Result<MemoryAccesses<A>, AccessAnalysisError<A>>
fn infer_dataflow<O: Oracle<A>>( &self, o: &mut O, memory_accesses: &MemoryAccesses<A>, ) -> Result<Dataflows<A, ()>, DataflowAnalysisError<A>>
fn infer_threshold_values<O: Oracle<A>>( &self, o: &mut O, dataflows: &Dataflows<A, ()>, state_gen: &StateGen<'_, A, O::MappableArea>, ) -> ThresholdValues<A>
fn num_entries(&self) -> usize
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.