moduforge_rules_expression/compiler/
error.rs1use thiserror::Error;
2
3#[derive(Debug, PartialEq, Eq, Clone, Error)]
6pub enum CompilerError {
7 #[error("未知的一元操作符: {operator}")]
10 UnknownUnaryOperator { operator: String },
11
12 #[error("未知二元操作符: {operator}")]
15 UnknownBinaryOperator { operator: String },
16
17 #[error("函数参数未找到: {function} 索引 {index}")]
20 ArgumentNotFound { function: String, index: usize },
21
22 #[error("意外错误节点")]
25 UnexpectedErrorNode,
26
27 #[error("未知函数: {name}")]
30 UnknownFunction { name: String },
31
32 #[error("无效函数调用: {name}: {message}")]
35 InvalidFunctionCall { name: String, message: String },
36
37 #[error("无效方法调用: {name}: {message}")]
40 InvalidMethodCall { name: String, message: String },
41}
42
43pub(crate) type CompilerResult<T> = Result<T, CompilerError>;