diff --git a/src/panic.rs b/src/panic.rs new file mode 100644 index 0000000..1ffd944 --- /dev/null +++ b/src/panic.rs @@ -0,0 +1,19 @@ +use crate::value::Value; +use crate::vm::CallFrame; + +#[derive(Debug, Clone, PartialEq)] +pub enum PanicMsg { + NoLetMatch, + NoFnMatch, + NoMatch, + Generic(String), +} + +#[derive(Debug, Clone, PartialEq)] +pub struct Panic { + pub msg: PanicMsg, + pub frame: CallFrame, + pub scrutinee: Option, + pub ip: usize, + pub call_stack: Vec, +}