[][src]Struct gf::ai::symbolic::SymbolicSpaceState

pub struct SymbolicSpaceState { /* fields omitted */ }

🟢 Implementation of SpaceState for use with symbolic interpretation.

Each byte in the state is a FlatLattice of Expr, backed by a HashLattice.

Addresses can be:

Values can be:


impl SymbolicSpaceState[src]

pub fn new(space: Space<'_>) -> Self[src]

Create a symbolic space state for a given space.


  • Panics if address size exceeds 128 bits.

pub fn set_concrete(
    &mut self,
    endianness: Endianness,
    address: FlatLattice<BitVec>,
    value: FlatLattice<BitVec>

Augment symbolic state with concrete bytes before a load.

Trait Implementations

impl Clone for SymbolicSpaceState[src]

impl<A: IntoU128> ConstSpaceState<A, FlatLattice<Expr>> for SymbolicSpaceState[src]

impl ConstSpaceState<BitVec, FlatLattice<Expr>> for SymbolicSpaceState[src]

impl ConstSpaceState<FlatLattice<BitVec>, FlatLattice<Expr>> for SymbolicSpaceState[src]

impl<A: IntoU128> SpaceState<A, FlatLattice<Expr>> for SymbolicSpaceState[src]

impl SpaceState<BitVec, FlatLattice<Expr>> for SymbolicSpaceState[src]

impl SpaceState<FlatLattice<BitVec>, FlatLattice<Expr>> for SymbolicSpaceState[src]

Auto Trait Implementations

impl RefUnwindSafe for SymbolicSpaceState

impl Send for SymbolicSpaceState

impl Sync for SymbolicSpaceState

impl Unpin for SymbolicSpaceState

impl UnwindSafe for SymbolicSpaceState

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.