2021-09-06 01:16:27 +02:00
|
|
|
use crate::{ast::Operator, Span, Type};
|
2021-09-02 03:29:43 +02:00
|
|
|
|
2021-09-06 01:16:27 +02:00
|
|
|
#[derive(Debug, Clone)]
|
2021-09-02 03:29:43 +02:00
|
|
|
pub enum ShellError {
|
|
|
|
OperatorMismatch {
|
|
|
|
op_span: Span,
|
|
|
|
lhs_ty: Type,
|
|
|
|
lhs_span: Span,
|
|
|
|
rhs_ty: Type,
|
|
|
|
rhs_span: Span,
|
|
|
|
},
|
2021-09-06 01:16:27 +02:00
|
|
|
UnsupportedOperator(Operator, Span),
|
|
|
|
UnknownOperator(String, Span),
|
|
|
|
ExternalNotSupported(Span),
|
2021-09-02 03:29:43 +02:00
|
|
|
InternalError(String),
|
2021-09-06 04:20:02 +02:00
|
|
|
VariableNotFoundAtRuntime(Span),
|
2021-09-02 03:29:43 +02:00
|
|
|
CantConvert(String, Span),
|
|
|
|
DivisionByZero(Span),
|
2021-09-06 06:07:48 +02:00
|
|
|
CannotCreateRange(Span),
|
2021-09-07 00:02:24 +02:00
|
|
|
AccessBeyondEnd(usize, Span),
|
|
|
|
AccessBeyondEndOfStream(Span),
|
|
|
|
IncompatiblePathAccess(String, Span),
|
|
|
|
CantFindColumn(Span),
|
2021-09-19 21:29:58 +02:00
|
|
|
ExternalCommand(String, Span),
|
2021-09-02 03:29:43 +02:00
|
|
|
}
|