1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum CodegenError {
8 #[error("schema parse error: {0}")]
10 Parse(#[from] ironsbe_schema::ParseError),
11
12 #[error("schema error: {0}")]
14 Schema(#[from] ironsbe_schema::SchemaError),
15
16 #[error("IO error: {0}")]
18 Io(#[from] std::io::Error),
19
20 #[error("generation error: {message}")]
22 Generation {
23 message: String,
25 },
26
27 #[error("unknown type '{type_name}' in field '{field}'")]
29 UnknownType {
30 type_name: String,
32 field: String,
34 },
35}
36
37impl CodegenError {
38 pub fn generation(message: impl Into<String>) -> Self {
40 Self::Generation {
41 message: message.into(),
42 }
43 }
44}