pomsky_syntax/
diagnose.rs

1pub use crate::{error::*, warning::*};
2
3use crate::Span;
4
5#[derive(Debug, Clone)]
6pub struct ParseDiagnostic {
7    pub kind: ParseDiagnosticKind,
8    pub span: Span,
9}
10
11#[derive(Debug, Clone)]
12pub enum ParseDiagnosticKind {
13    Error(ParseErrorKind),
14    Warning(ParseWarningKind),
15}
16
17impl From<ParseError> for ParseDiagnostic {
18    fn from(value: ParseError) -> Self {
19        ParseDiagnostic { kind: ParseDiagnosticKind::Error(value.kind), span: value.span }
20    }
21}
22
23impl From<ParseWarning> for ParseDiagnostic {
24    fn from(value: ParseWarning) -> Self {
25        ParseDiagnostic { kind: ParseDiagnosticKind::Warning(value.kind), span: value.span }
26    }
27}