diff options
Diffstat (limited to 'users/tazjin/rlox/src/errors.rs')
-rw-r--r-- | users/tazjin/rlox/src/errors.rs | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/users/tazjin/rlox/src/errors.rs b/users/tazjin/rlox/src/errors.rs deleted file mode 100644 index 3d5c28f9f3bb..000000000000 --- a/users/tazjin/rlox/src/errors.rs +++ /dev/null @@ -1,38 +0,0 @@ -use crate::treewalk::interpreter::Value; - -#[derive(Debug)] -pub enum ErrorKind { - UnexpectedChar(char), - UnterminatedString, - UnmatchedParens, - ExpectedExpression(String), - ExpectedSemicolon, - ExpectedClosingBrace, - ExpectedToken(&'static str), - TypeError(String), - UndefinedVariable(String), - InternalError(String), - InvalidAssignmentTarget(String), - RuntimeError(String), - StaticError(String), - - // This variant is not an error, rather it is used for - // short-circuiting out of a function body that hits a `return` - // statement. - // - // It's implemented this way because in the original book the - // author uses exceptions for control flow, and this is the - // closest equivalent that I had available without diverging too - // much. - FunctionReturn(Value), -} - -#[derive(Debug)] -pub struct Error { - pub line: usize, - pub kind: ErrorKind, -} - -pub fn report(err: &Error) { - eprintln!("[line {}] Error: {:?}", err.line, err.kind); -} |