pub enum AnalysisKind {
Show 13 variants
Alias {
strategy: AliasStrategyKind,
},
Adg(AdgArgs),
Upg,
UpgStd,
Callgraph,
Dataflow {
debug: bool,
},
OwnedHeap,
Pathcond,
Range {
debug: bool,
},
Scan,
Ssa,
Mir,
DotMir,
}Variants§
Alias
perform alias analysis (meet-over-paths by default)
Fields
§
strategy: AliasStrategyKindspecify the alias analysis strategy
Adg(AdgArgs)
generate API dependency graphs
Upg
generate unsafety propagation graphs for each module
UpgStd
generate unsafety propagation graphs for each module of the Rust standard library
Callgraph
generate callgraphs
Dataflow
generate dataflow graphs
OwnedHeap
analyze if the type holds a piece of memory on heap
Pathcond
extract path constraints
Range
perform range analysis
Scan
print basic information of the crate, e.g., the number of APIs
Ssa
print the SSA form of the crate
Mir
print the MIR of the crate
DotMir
print the MIR of the crate in dot format
Trait Implementations§
Source§impl Clone for AnalysisKind
impl Clone for AnalysisKind
Source§fn clone(&self) -> AnalysisKind
fn clone(&self) -> AnalysisKind
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AnalysisKind
impl Debug for AnalysisKind
Source§impl FromArgMatches for AnalysisKind
impl FromArgMatches for AnalysisKind
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
Assign values from
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
Assign values from
ArgMatches to self.Source§impl Subcommand for AnalysisKind
impl Subcommand for AnalysisKind
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Append to [
Command] so it can instantiate self via
[FromArgMatches::update_from_arg_matches_mut] Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Test whether
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for AnalysisKind
impl RefUnwindSafe for AnalysisKind
impl Send for AnalysisKind
impl Sync for AnalysisKind
impl Unpin for AnalysisKind
impl UnwindSafe for AnalysisKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more