Skip to main content

mago_analyzer/
analysis_result.rs

1use std::time::Duration;
2
3use mago_codex::reference::SymbolReferences;
4use mago_reporting::IssueCollection;
5
6#[derive(Clone, Debug)]
7pub struct AnalysisResult {
8    pub issues: IssueCollection,
9    pub symbol_references: SymbolReferences,
10    #[cfg(not(target_arch = "wasm32"))]
11    pub time_in_analysis: Duration,
12}
13
14impl AnalysisResult {
15    #[must_use]
16    pub fn new(symbol_references: SymbolReferences) -> Self {
17        Self {
18            issues: IssueCollection::default(),
19            symbol_references,
20            #[cfg(not(target_arch = "wasm32"))]
21            time_in_analysis: Duration::default(),
22        }
23    }
24
25    pub fn extend(&mut self, other: Self) {
26        self.issues.extend(other.issues);
27        self.symbol_references.extend(other.symbol_references);
28    }
29}