rust/crates/hir_def/src/body/diagnostics.rs
2020-12-01 12:40:03 +01:00

29 lines
793 B
Rust

//! Diagnostics emitted during body lowering.
use hir_expand::diagnostics::DiagnosticSink;
use crate::diagnostics::{InactiveCode, MacroError, UnresolvedProcMacro};
#[derive(Debug, Eq, PartialEq)]
pub(crate) enum BodyDiagnostic {
InactiveCode(InactiveCode),
MacroError(MacroError),
UnresolvedProcMacro(UnresolvedProcMacro),
}
impl BodyDiagnostic {
pub(crate) fn add_to(&self, sink: &mut DiagnosticSink<'_>) {
match self {
BodyDiagnostic::InactiveCode(diag) => {
sink.push(diag.clone());
}
BodyDiagnostic::MacroError(diag) => {
sink.push(diag.clone());
}
BodyDiagnostic::UnresolvedProcMacro(diag) => {
sink.push(diag.clone());
}
}
}
}