use std::fmt;
use leo_span::Span;
#[derive(Clone, Debug, Error)]
pub struct InterpreterHalt {
span: Option<Span>,
message: String,
}
impl InterpreterHalt {
pub fn new(message: String) -> Self {
InterpreterHalt { span: None, message }
}
pub fn new_spanned(message: String, span: Span) -> Self {
InterpreterHalt { span: Some(span), message }
}
pub fn span(&self) -> Option<Span> {
self.span
}
}
impl fmt::Display for InterpreterHalt {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.message)
}
}