Skip to main content

pedant_core/
analysis_result.rs

1use pedant_types::CapabilityProfile;
2
3use crate::ir::{DataFlowFact, FnFingerprint};
4use crate::violation::Violation;
5
6/// Output of a single file analysis: violations and capabilities.
7pub struct AnalysisResult {
8    /// Style violations produced by the checks pipeline.
9    pub violations: Box<[Violation]>,
10    /// Capability findings from use-path and string-literal detection.
11    pub capabilities: CapabilityProfile,
12    /// Cross-function data flow edges (populated only by semantic enrichment).
13    /// `Arc<[T]>` shared with the semantic file analysis cache — no deep copy.
14    pub data_flows: std::sync::Arc<[DataFlowFact]>,
15    /// Structural fingerprints for duplicate detection (one per function).
16    pub fn_fingerprints: Box<[FnFingerprint]>,
17}