[−][src]Struct finch::executor::Driver
A Driver
to driver State
over an il::Program
.
Methods
impl Driver
[src]
pub fn new(
program: Program,
location: ProgramLocation,
state: State,
architecture: RC<Box<dyn Architecture>>
) -> Driver
[src]
program: Program,
location: ProgramLocation,
state: State,
architecture: RC<Box<dyn Architecture>>
) -> Driver
Create a new Driver
for symbolic execution over Falcon IL.
pub fn step(self) -> Result<Vec<Driver>>
[src]
Step the underlying State
forward over this Driver
's il::Program
.
pub fn program(&self) -> &Program
[src]
Retrieve the Falcon IL program associated with this driver.
pub fn set_program(
&mut self,
program: Program,
program_location: ProgramLocation
)
[src]
&mut self,
program: Program,
program_location: ProgramLocation
)
Set the Falcon IL program associated with this driver.
pub fn ref_program_location(&self) -> RefProgramLocation
[src]
Retrieve the RefProgramLocation for this Driver
pub fn location(&self) -> &ProgramLocation
[src]
Retrieve the il::ProgramLocation
associated with this driver.
pub fn set_location(&mut self, location: ProgramLocation)
[src]
Jump the driver to another address
pub fn address(&self) -> Option<u64>
[src]
Retrieve the address of the instruction this driver is currently on
pub fn instruction(&self) -> Option<Instruction>
[src]
Retrieve the instruction for this driver, if this driver is currently execution an instruction
pub fn state(&self) -> &State
[src]
Retrieve the State
associated with this driver.
pub fn state_mut(&mut self) -> &mut State
[src]
Retrieve a mutable reference to the State
.
pub fn trace(&self) -> &Trace
[src]
Get a trace of instructions executed by this driver
pub fn merge(&self, other: &Driver) -> Result<Option<Driver>>
[src]
Merge two drivers together, if they are at the same program location
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Driver
impl !Send for Driver
impl !Sync for Driver
impl Unpin for Driver
impl !UnwindSafe for Driver
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,