diff options
Diffstat (limited to 'src/hir/expr_ptr.hpp')
-rw-r--r-- | src/hir/expr_ptr.hpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/hir/expr_ptr.hpp b/src/hir/expr_ptr.hpp index 5bedd1da..97991bf2 100644 --- a/src/hir/expr_ptr.hpp +++ b/src/hir/expr_ptr.hpp @@ -8,6 +8,7 @@ #pragma once #include <memory> #include <vector> +#include <cassert> #include <mir/mir_ptr.hpp> @@ -47,10 +48,10 @@ public: this->ptr = p; } - ::HIR::ExprNode& operator*() { return *ptr; } - const ::HIR::ExprNode& operator*() const { return *ptr; } - ::HIR::ExprNode* operator->() { return ptr; } - const ::HIR::ExprNode* operator->() const { return ptr; } + ::HIR::ExprNode& operator*() { assert(ptr); return *ptr; } + const ::HIR::ExprNode& operator*() const { assert(ptr); return *ptr; } + ::HIR::ExprNode* operator->() { assert(ptr); return ptr; } + const ::HIR::ExprNode* operator->() const { assert(ptr); return ptr; } }; class ExprPtr |