use dk_core::types::{CallEdge, Dependency, Symbol};
use crate::findings::Finding;
#[derive(Debug, Clone)]
pub struct ChangedFile {
pub path: String,
pub content: Option<String>,
}
pub struct CheckContext {
pub before_symbols: Vec<Symbol>,
pub after_symbols: Vec<Symbol>,
pub before_call_graph: Vec<CallEdge>,
pub after_call_graph: Vec<CallEdge>,
pub before_deps: Vec<Dependency>,
pub after_deps: Vec<Dependency>,
pub changed_files: Vec<ChangedFile>,
}
pub trait SemanticCheck: Send + Sync {
fn name(&self) -> &str;
fn run(&self, ctx: &CheckContext) -> Vec<Finding>;
}