pub struct ImpactAnalysis {
pub target: NodeInfo,
pub upstream: Vec<AffectedNode>,
pub downstream: Vec<AffectedNode>,
pub total_affected: usize,
pub max_depth: usize,
pub query_time_ms: u64,
}Expand description
Complete impact analysis result.
Fields§
§target: NodeInfoThe target node being analyzed.
upstream: Vec<AffectedNode>Nodes that depend on the target (callers, importers, etc.)
downstream: Vec<AffectedNode>Nodes the target depends on (callees, imports, etc.)
total_affected: usizeTotal count of affected nodes.
max_depth: usizeMaximum depth searched.
query_time_ms: u64Time taken in milliseconds.
Implementations§
Source§impl ImpactAnalysis
impl ImpactAnalysis
Sourcepub fn all_affected(&self) -> Vec<&AffectedNode>
pub fn all_affected(&self) -> Vec<&AffectedNode>
Returns all affected nodes (upstream + downstream) sorted by severity.
Sourcepub fn direct_only(&self) -> Vec<&AffectedNode>
pub fn direct_only(&self) -> Vec<&AffectedNode>
Returns only direct (1-hop) affected nodes.
Trait Implementations§
Source§impl Debug for ImpactAnalysis
impl Debug for ImpactAnalysis
Source§impl<'de> Deserialize<'de> for ImpactAnalysis
impl<'de> Deserialize<'de> for ImpactAnalysis
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 ImpactAnalysis
impl RefUnwindSafe for ImpactAnalysis
impl Send for ImpactAnalysis
impl Sync for ImpactAnalysis
impl Unpin for ImpactAnalysis
impl UnwindSafe for ImpactAnalysis
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