pub struct Args {
verbosity: LevelFilter,
log_level_config: LogLevelConfig,
result_path: PathBuf,
relaxed: bool,
target: Option<String>,
abort_after_analysis: bool,
attach_to_debugger: Option<Debugger>,
marker_control: MarkerControl,
anactrl: AnalysisCtrl,
dump: DumpArgs,
build_config: (Option<PathBuf>, BuildConfig),
cargo_args: Vec<String>,
}
Fields§
§verbosity: LevelFilter
Print additional logging output (up to the “info” level)
log_level_config: LogLevelConfig
§result_path: PathBuf
Where to write the resulting forge code to (defaults to analysis_result.frg
)
relaxed: bool
Emit warnings instead of aborting the analysis on sanity checks
target: Option<String>
Target a specific package
abort_after_analysis: bool
Abort the compilation after finishing the analysis
attach_to_debugger: Option<Debugger>
Make the compiler attach to a debugger
marker_control: MarkerControl
Additional arguments on marker assignment and discovery
anactrl: AnalysisCtrl
Additional arguments that control the flow analysis specifically
dump: DumpArgs
Additional arguments that control debug output specifically
build_config: (Option<PathBuf>, BuildConfig)
Additional configuration for the build process/rustc
cargo_args: Vec<String>
Additional options for cargo
Implementations§
Source§impl Args
impl Args
pub fn target(&self) -> Option<&str>
Sourcepub fn direct_debug(&self) -> &LogLevelConfig
pub fn direct_debug(&self) -> &LogLevelConfig
Returns the configuration specified for the --debug
option
Sourcepub fn anactrl(&self) -> &AnalysisCtrl
pub fn anactrl(&self) -> &AnalysisCtrl
Access the argument controlling the analysis
Sourcepub fn result_path(&self) -> &Path
pub fn result_path(&self) -> &Path
the file to write results to
Sourcepub fn verbosity(&self) -> LevelFilter
pub fn verbosity(&self) -> LevelFilter
Should we output additional log messages (level info
)
pub fn abort_after_analysis(&self) -> bool
pub fn build_config(&self) -> &BuildConfig
pub fn hash_config(&self, hasher: &mut impl Hasher)
pub fn marker_control(&self) -> &MarkerControl
pub fn cargo_args(&self) -> &[String]
pub fn attach_to_debugger(&self) -> Option<Debugger>
pub fn setup_logging(&self)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Args
impl<'de> Deserialize<'de> for Args
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Args
impl RefUnwindSafe for Args
impl Send for Args
impl Sync for Args
impl Unpin for Args
impl UnwindSafe for Args
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> 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