mago_analyzer/
analysis_result.rs1use 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}