struct ClapAnalysisCtrl {
analyze: Vec<String>,
no_interprocedural_analysis: bool,
no_adaptive_approximation: bool,
include: Vec<String>,
no_pdg_cache: bool,
k_depth: Option<u32>,
}
Expand description
Arguments that control the flow analysis
Fields§
§analyze: Vec<String>
Target this function as analysis entrypoint. Command line version of
#[paralegal::analyze]
). Must be a full rust path and resolve to a
function. May be specified multiple times and multiple, comma separated
paths may be supplied at the same time.
no_interprocedural_analysis: bool
Limits the PDG to a single function. This is intended for testing and should not be used in production.
no_adaptive_approximation: bool
Do not decide whether to represent a function in the PDG based on the presence of markers. This will create very large PDGs that span all crates configured for analysis and with source code present.
include: Vec<String>
Limit the set of crates to analyze. Beware that if those crates contain marked code (other than the surface API), this poses a soundness risk. This is intended as an optimization experts can apply for large projects.
no_pdg_cache: bool
§k_depth: Option<u32>
Add an additional k inlining steps on top of what the marker guided setup recommends. If adaptive approximation is enabled this defaults to 0, if it is enabled it defaults to no limit.
Trait Implementations§
Source§impl Args for ClapAnalysisCtrl
impl Args for ClapAnalysisCtrl
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command
so it can instantiate self
via
FromArgMatches::update_from_arg_matches_mut
Read moreSource§impl FromArgMatches for ClapAnalysisCtrl
impl FromArgMatches for ClapAnalysisCtrl
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>
ArgMatches
to self
.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches
to self
.Source§impl TryFrom<ClapAnalysisCtrl> for AnalysisCtrl
impl TryFrom<ClapAnalysisCtrl> for AnalysisCtrl
Auto Trait Implementations§
impl Freeze for ClapAnalysisCtrl
impl RefUnwindSafe for ClapAnalysisCtrl
impl Send for ClapAnalysisCtrl
impl Sync for ClapAnalysisCtrl
impl Unpin for ClapAnalysisCtrl
impl UnwindSafe for ClapAnalysisCtrl
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
Source§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
Source§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
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>
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>
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