use crate::types::Symbol;
#[derive(Debug, Clone)]
pub struct ImpactData {
pub symbol: String,
pub ref_count: usize,
pub call_count: usize,
pub referenced_by: Vec<Symbol>,
pub references: Vec<Symbol>,
pub impact_score: usize,
}
#[derive(Debug, Clone)]
pub struct ImpactAnalysis {
pub affected_symbols: Vec<Symbol>,
pub call_sites: usize,
}
#[derive(Debug, Clone)]
pub struct CrossReferences {
pub callers: Vec<Symbol>,
pub callees: Vec<Symbol>,
}
#[derive(Debug, Clone)]
pub struct ReferenceChain {
pub from: String,
pub to: String,
pub chain: Vec<Symbol>,
pub length: usize,
}
#[derive(Debug, Clone)]
pub struct CallChain {
pub target: String,
pub callers: Vec<Symbol>,
pub depth: usize,
}