pub fn explore_control_flow<'a, A, U, M, Contexts, Update, InstrCallback>(
data: &M,
contexts: &'a mut Contexts,
cfg: &mut ControlFlowGraph<A::Address>,
start: A::Address,
on_instruction_discovered: &InstrCallback
) -> SmallVec<[A::Address; 2]> where
A: Arch + DecodeFrom<M>,
M: MemoryRange<A> + ?Sized,
Contexts: ContextWrite<A, Update> + ContextRead<A, U>,
A::Address: Hash + NodeTrait + WrappingAdd,
A::Instruction: Debug + Determinant<U, A::Address>,
InstrCallback: Fn(&A::Instruction, A::Address, &Effect<A::Address>, &Contexts) -> Vec<(A::Address, Update)>,