summaryrefslogtreecommitdiff
path: root/src/hir/expr_ptr.hpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-11-01 20:46:36 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-11-01 20:46:36 +0800
commitcb271f8ea98d1a5c65a5e636a0e73a85710027b4 (patch)
tree9694427c074c0e0d581cde6e01b6167016e0f844 /src/hir/expr_ptr.hpp
parent8306f43ccdf0414b48891aa5eb04d8901899c052 (diff)
downloadmrust-cb271f8ea98d1a5c65a5e636a0e73a85710027b4.tar.gz
HIR - Refactor enums to only embed a single field (and give variants types)
Diffstat (limited to 'src/hir/expr_ptr.hpp')
-rw-r--r--src/hir/expr_ptr.hpp9
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