zen_expression/compiler/
error.rs1use thiserror::Error;
2
3#[derive(Debug, PartialEq, Eq, Clone, Error)]
4pub enum CompilerError {
5 #[error("Unknown unary operator: {operator}")]
6 UnknownUnaryOperator { operator: String },
7
8 #[error("Unknown binary operator: {operator}")]
9 UnknownBinaryOperator { operator: String },
10
11 #[error("Argument not found for function {function} at index {index}")]
12 ArgumentNotFound { function: String, index: usize },
13
14 #[error("Unexpected error node")]
15 UnexpectedErrorNode,
16
17 #[error("Unknown function `{name}`")]
18 UnknownFunction { name: String },
19
20 #[error("Invalid function call `{name}`: {message}")]
21 InvalidFunctionCall { name: String, message: String },
22
23 #[error("Invalid method call `{name}`: {message}")]
24 InvalidMethodCall { name: String, message: String },
25
26 #[error("Unexpected assigned object")]
27 UnexpectedAssignedObject,
28}
29
30pub(crate) type CompilerResult<T> = Result<T, CompilerError>;