pomsky_syntax/
diagnose.rs1pub 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}