pub struct StringAbstraction<'a, T: AbstractDomain + DomainInsertion + HasTop + Eq + From<String>> { /* private fields */ }
Expand description
A wrapper struct for the string abstraction computation object.
Implementations§
source§impl<'a, T: AbstractDomain + DomainInsertion + HasTop + Eq + From<String>> StringAbstraction<'a, T>
impl<'a, T: AbstractDomain + DomainInsertion + HasTop + Eq + From<String>> StringAbstraction<'a, T>
sourcepub fn new(
project: &'a Project,
control_flow_graph: &'a Graph<'a>,
pointer_inference_results: &'a PointerInferenceComputation<'a>,
config: Config
) -> StringAbstraction<'a, T>
pub fn new( project: &'a Project, control_flow_graph: &'a Graph<'a>, pointer_inference_results: &'a PointerInferenceComputation<'a>, config: Config ) -> StringAbstraction<'a, T>
Generate a new string abstraction computation for a project.
sourcepub fn compute(&mut self)
pub fn compute(&mut self)
Compute the fixpoint of the string abstraction analysis.
Has a max_steps
bound for the fixpoint algorithm to prevent infinite loops.
sourcepub fn get_computation(
&self
) -> &Computation<GeneralizedContext<'a, Context<'a, T>>>
pub fn get_computation( &self ) -> &Computation<GeneralizedContext<'a, Context<'a, T>>>
Get the string abstraction computation.
sourcepub fn get_context(&self) -> &Context<'a, T>
pub fn get_context(&self) -> &Context<'a, T>
Get the context object of the computation.
Auto Trait Implementations§
impl<'a, T> RefUnwindSafe for StringAbstraction<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for StringAbstraction<'a, T>where
T: Send,
impl<'a, T> Sync for StringAbstraction<'a, T>where
T: Sync,
impl<'a, T> Unpin for StringAbstraction<'a, T>where
T: Unpin,
impl<'a, T> UnwindSafe for StringAbstraction<'a, T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more