Add AssertionException, specialize pprint
diff --git a/Evaluator.h b/Evaluator.h
index 47ea941..7034669 100644
--- a/Evaluator.h
+++ b/Evaluator.h
@@ -59,6 +59,23 @@
AstNode _failedAt;
};
+class AssertionException : public QException
+{
+public:
+ AssertionException(QString message = "");
+ AssertionException(const AssertionException &other) = default;
+
+ QString message() const;
+
+ void raise() const override;
+ AssertionException *clone() const override;
+
+ operator QString() const;
+
+private:
+ QString _message;
+};
+
class Evaluator {
public:
Evaluator();