use super::{Diagnostic, DiagnosticCategory, DiagnosticReport, DiagnosticStage, Severity};
pub(crate) fn emit(report: &mut DiagnosticReport, diagnostic: Diagnostic) {
report.push(diagnostic);
}
pub(crate) fn stage_error(
id: &str,
stage: DiagnosticStage,
category: DiagnosticCategory,
message: impl Into<String>,
) -> Diagnostic {
Diagnostic::new(id, Severity::Error, stage, category, message)
}
pub(crate) fn validation_error(
id: &str,
category: DiagnosticCategory,
message: impl Into<String>,
) -> Diagnostic {
stage_error(id, DiagnosticStage::Validation, category, message)
}
pub(crate) fn com_error(
id: &str,
category: DiagnosticCategory,
message: impl Into<String>,
) -> Diagnostic {
stage_error(id, DiagnosticStage::CanonicalObjectModel, category, message)
}