use serde::{Deserialize, Serialize};
use thiserror::Error;
#[derive(Error, Debug, Serialize, Deserialize, Clone, PartialEq)]
pub enum WesleyError {
#[error("Parse error: {message}")]
ParseError {
message: String,
line: Option<u32>,
column: Option<u32>,
},
#[error("Lowering error: {message} in {area}")]
LoweringError {
message: String,
area: String,
},
#[error("Resilience error: {0}")]
ResilienceError(String),
}
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
pub struct WesleyDiagnostic {
pub code: String,
pub message: String,
pub severity: String,
pub line: Option<u32>,
pub column: Option<u32>,
}