diff options
author | John Hodge <tpg@mutabah.net> | 2016-05-18 10:52:06 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-05-18 10:52:06 +0800 |
commit | 8b2dbb2481abadec1f5d5cb0af888ca2916b252f (patch) | |
tree | 18a8c612b9f1b8b9b10bd64fe3dde2f6a6cee9fa /src/ast/pattern.hpp | |
parent | 42b9b8616301e331e0a7d4bcfeaafa1b087a8362 (diff) | |
download | mrust-8b2dbb2481abadec1f5d5cb0af888ca2916b252f.tar.gz |
HIR/from_ast - Pattern conversion mostly done, crashes.
Diffstat (limited to 'src/ast/pattern.hpp')
-rw-r--r-- | src/ast/pattern.hpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/ast/pattern.hpp b/src/ast/pattern.hpp index 05a1d3bb..a115eaf9 100644 --- a/src/ast/pattern.hpp +++ b/src/ast/pattern.hpp @@ -73,7 +73,9 @@ public: struct TagBind {}; Pattern(TagBind, ::std::string name): - m_binding(name) + m_binding(name), + m_binding_type( BIND_MOVE ), + m_binding_mut(false) {} struct TagBox {}; @@ -125,9 +127,12 @@ public: // Accessors const ::std::string& binding() const { return m_binding; } - Data& data() { return m_data; } + const BindType& binding_type() const { assert(m_binding != ""); return m_binding_type; } + bool binding_mut() const { assert(m_binding != ""); return m_binding_mut; } + + Data& data() { return m_data; } const Data& data() const { return m_data; } - Path& path() { return m_data.as_StructTuple().path; } + Path& path() { return m_data.as_StructTuple().path; } const Path& path() const { return m_data.as_StructTuple().path; } friend ::std::ostream& operator<<(::std::ostream& os, const Pattern& pat); |