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}