2020-10-23 19:27:04 +02:00
|
|
|
//! Diagnostics emitted during body lowering.
|
|
|
|
|
|
|
|
use hir_expand::diagnostics::DiagnosticSink;
|
|
|
|
|
2020-12-01 12:40:03 +01:00
|
|
|
use crate::diagnostics::{InactiveCode, MacroError, UnresolvedProcMacro};
|
2020-10-23 19:27:04 +02:00
|
|
|
|
|
|
|
#[derive(Debug, Eq, PartialEq)]
|
2020-11-02 16:31:38 +01:00
|
|
|
pub(crate) enum BodyDiagnostic {
|
2020-10-23 19:27:04 +02:00
|
|
|
InactiveCode(InactiveCode),
|
2020-11-30 20:26:35 +01:00
|
|
|
MacroError(MacroError),
|
2020-12-01 12:40:03 +01:00
|
|
|
UnresolvedProcMacro(UnresolvedProcMacro),
|
2020-10-23 19:27:04 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
impl BodyDiagnostic {
|
2020-11-02 16:31:38 +01:00
|
|
|
pub(crate) fn add_to(&self, sink: &mut DiagnosticSink<'_>) {
|
2020-10-23 19:27:04 +02:00
|
|
|
match self {
|
|
|
|
BodyDiagnostic::InactiveCode(diag) => {
|
|
|
|
sink.push(diag.clone());
|
|
|
|
}
|
2020-11-30 20:26:35 +01:00
|
|
|
BodyDiagnostic::MacroError(diag) => {
|
|
|
|
sink.push(diag.clone());
|
|
|
|
}
|
2020-12-01 12:40:03 +01:00
|
|
|
BodyDiagnostic::UnresolvedProcMacro(diag) => {
|
|
|
|
sink.push(diag.clone());
|
|
|
|
}
|
2020-10-23 19:27:04 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|