use tarrasque::{ExtractError};
pub const MISMATCH: u32 = 0;
pub const MISSING: u32 = 1;
pub const OFFSET_SIZE: u32 = 2;
pub const OPERAND: u32 = 3;
pub const OPERATOR: u32 = 4;
pub const OVERFLOW: u32 = 5;
pub const UNDEFINED: u32 = 6;
pub const UNDERFLOW: u32 = 7;
pub const UNSUPPORTED: u32 = 8;
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum CffError<'s> {
Extract(ExtractError<'s>),
Missing,
Mismatch,
OffsetSize,
Operand,
Operator,
Overflow,
Undefined,
Underflow,
Unsupported,
}
impl<'s> From<ExtractError<'s>> for CffError<'s> {
#[inline]
fn from(error: ExtractError<'s>) -> Self {
match error {
ExtractError::Code(code) => match code {
MISSING => CffError::Missing,
MISMATCH => CffError::Mismatch,
OFFSET_SIZE => CffError::OffsetSize,
OPERAND => CffError::Operand,
OPERATOR => CffError::Operator,
OVERFLOW => CffError::Overflow,
UNDEFINED => CffError::Undefined,
UNDERFLOW => CffError::Underflow,
UNSUPPORTED => CffError::Unsupported,
_ => CffError::Extract(ExtractError::Code(code)),
},
error => CffError::Extract(error),
}
}
}