[][src]Trait gf::code::dfa::concrete::ConcreteSpaceState

pub trait ConcreteSpaceState {
    fn clone_boxed(&self) -> Box<dyn ConcreteSpaceState>;
fn load(
        &mut self,
        endianness: Endianness,
        address: u128,
        size: VarSize
    ) -> Result<ConcreteStateValue, ConcreteStateValue>;
fn store(
        &mut self,
        endianness: Endianness,
        address: u128,
        value: &ConcreteStateValue
    ) -> Result<(), ConcreteStateValue>; }

A space state in a concrete interpretation state.

Required methods

fn clone_boxed(&self) -> Box<dyn ConcreteSpaceState>

Clone the state into a type-erased box.

fn load(
    &mut self,
    endianness: Endianness,
    address: u128,
    size: VarSize
) -> Result<ConcreteStateValue, ConcreteStateValue>

Load from the space.

Both LOAD.L and LOAD.R statements go through this method. For local loads, an error return is interpreted as an impossible state.

If the call succeeds, the resulting value must have size equal to the passed size but can be undefined.

fn store(
    &mut self,
    endianness: Endianness,
    address: u128,
    value: &ConcreteStateValue
) -> Result<(), ConcreteStateValue>

Store to the space.

Both STORE.L and STORE.R statements go through this method. For local stores, an error return is interpreted as an impossible state.

Loading content...

Implementors

impl ConcreteSpaceState for ConcreteLocalSpaceState[src]

Loading content...