erg/crates/erg_compiler/module/errors.rs
Shunsuke Shibayama 1a4095077f WIP
2023-06-15 10:49:09 +09:00

21 lines
496 B
Rust

use erg_common::shared::Shared;
use erg_common::traits::Stream;
use crate::error::CompileErrors;
#[derive(Debug, Clone, Default)]
pub struct SharedCompileErrors(Shared<CompileErrors>);
impl SharedCompileErrors {
pub fn new() -> Self {
Self(Shared::new(CompileErrors::empty()))
}
pub fn extend(&self, errors: CompileErrors) {
self.0.borrow_mut().extend(errors);
}
pub fn take(&self) -> CompileErrors {
self.0.borrow_mut().take_all().into()
}
}