pub enum EngineNote {
WorklistCapped {
iterations: u32,
},
OriginsTruncated {
dropped: u32,
},
InFileFixpointCapped {
iterations: u32,
reason: CapHitReason,
},
CrossFileFixpointCapped {
iterations: u32,
reason: CapHitReason,
},
SsaLoweringBailed {
reason: String,
},
ParseTimeout {
timeout_ms: u32,
},
PredicateStateWidened,
PathEnvCapped,
InlineCacheReused,
PointsToTruncated {
dropped: u32,
},
}Expand description
A single provenance event recorded during analysis.
Variants§
WorklistCapped
Taint worklist hit its iteration budget. UnderReport.
OriginsTruncated
Per-value origin set truncated to analysis.engine.max_origins
(default 32). UnderReport, dropped origins correspond to real
source flows whose findings won’t emit.
InFileFixpointCapped
JS/TS pass-2 in-file global propagation hit its cap. UnderReport.
CrossFileFixpointCapped
Cross-file SCC fixpoint hit SCC_FIXPOINT_SAFETY_CAP. UnderReport.
SsaLoweringBailed
SSA lowering produced an empty body. Bail.
ParseTimeout
Tree-sitter parse exceeded the timeout. Bail.
PredicateStateWidened
Predicate state widened to top to keep the lattice monotone. OverReport, guards may have been lost.
PathEnvCapped
Path-environment constraints widened to top. OverReport.
InlineCacheReused
Inline cache reused a cached body. Informational.
PointsToTruncated
Points-to set truncated to analysis.engine.max_pointsto
(default 32). UnderReport.
Implementations§
Source§impl EngineNote
impl EngineNote
Sourcepub fn direction(&self) -> LossDirection
pub fn direction(&self) -> LossDirection
Direction of precision loss for this note. New variants must declare one explicitly.
Sourcepub fn lowers_confidence(&self) -> bool
pub fn lowers_confidence(&self) -> bool
True for any non-informational direction. Drives the
confidence_capped SARIF property.
Trait Implementations§
Source§impl Clone for EngineNote
impl Clone for EngineNote
Source§fn clone(&self) -> EngineNote
fn clone(&self) -> EngineNote
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EngineNote
impl Debug for EngineNote
Source§impl<'de> Deserialize<'de> for EngineNote
impl<'de> Deserialize<'de> for EngineNote
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>,
Source§impl Hash for EngineNote
impl Hash for EngineNote
Source§impl PartialEq for EngineNote
impl PartialEq for EngineNote
Source§impl Serialize for EngineNote
impl Serialize for EngineNote
impl Eq for EngineNote
impl StructuralPartialEq for EngineNote
Auto Trait Implementations§
impl Freeze for EngineNote
impl RefUnwindSafe for EngineNote
impl Send for EngineNote
impl Sync for EngineNote
impl Unpin for EngineNote
impl UnsafeUnpin for EngineNote
impl UnwindSafe for EngineNote
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<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§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
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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