sway_core/language/
programs.rs1use std::sync::Arc;
2
3use super::{lexed::LexedProgram, parsed::ParseProgram, ty::TyProgram};
4use crate::semantic_analysis::program::TypeCheckFailed;
5use sway_utils::PerformanceData;
6
7#[derive(Clone, Debug)]
10pub struct Programs {
11 pub lexed: Arc<LexedProgram>,
12 pub parsed: Arc<ParseProgram>,
13 pub typed: Result<Arc<TyProgram>, TypeCheckFailed>,
14 pub metrics: PerformanceData,
15}
16
17impl Programs {
18 pub fn new(
19 lexed: Arc<LexedProgram>,
20 parsed: Arc<ParseProgram>,
21 typed: Result<Arc<TyProgram>, TypeCheckFailed>,
22 metrics: PerformanceData,
23 ) -> Programs {
24 Programs {
25 lexed,
26 parsed,
27 typed,
28 metrics,
29 }
30 }
31}