1pub mod codegen;
9pub mod compiler;
10pub mod error_translator;
11pub mod lowering;
12pub mod rustc_diagnostic;
13
14pub use codegen::CodeGenerator;
15pub use compiler::Compiler;
16pub use error_translator::ErrorTranslator;
17pub use lowering::Lowerer;
18pub use rustc_diagnostic::{RustcDiagnostic, RustcSpan};
19
20pub use oxur_smap::{new_node_id, NodeId, SourceMap, SourcePos};
22
23pub type Result<T> = std::result::Result<T, Error>;
25
26#[derive(Debug, thiserror::Error)]
28pub enum Error {
29 #[error("Lowering error: {0}")]
30 Lowering(String),
31
32 #[error("Code generation error: {0}")]
33 CodeGen(String),
34
35 #[error("Compilation error: {0}")]
36 Compile(String),
37
38 #[error("Language error: {0}")]
39 Language(#[from] oxur_lang::Error),
40
41 #[error("IO error: {0}")]
42 Io(#[from] std::io::Error),
43}