pub struct Invocation {
pub program: String,
pub args: Vec<String>,
pub success_statuses: Vec<i32>,
}Expand description
How an analyzer is invoked as a child process.
Returned by Adapter::command and consumed by the subprocess runner, so
the argv lives beside the parser that understands its output rather than in
the runner, which knows no analyzer.
Fields§
§program: StringThe program to execute, looked up on PATH unless it is a path.
args: Vec<String>Its arguments, in order.
success_statuses: Vec<i32>Exit statuses that mean “the analyzer ran and produced a report”.
Analyzers overload the exit status: semgrep exits 1 when it found
something, cargo audit exits 1 on a vulnerability. Treating non-zero
as failure would discard exactly the runs that matter, so each adapter
declares which statuses carry a usable report and every other status is a
hard failure.
Trait Implementations§
Source§impl Clone for Invocation
impl Clone for Invocation
Source§fn clone(&self) -> Invocation
fn clone(&self) -> Invocation
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 Invocation
impl Debug for Invocation
impl Eq for Invocation
Source§impl PartialEq for Invocation
impl PartialEq for Invocation
impl StructuralPartialEq for Invocation
Auto Trait Implementations§
impl Freeze for Invocation
impl RefUnwindSafe for Invocation
impl Send for Invocation
impl Sync for Invocation
impl Unpin for Invocation
impl UnsafeUnpin for Invocation
impl UnwindSafe for Invocation
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.