From 9744f22c07c28d1577de9ee7034e337c1cfc46de Mon Sep 17 00:00:00 2001 From: John Hodge Date: Wed, 10 Aug 2016 15:49:20 +0800 Subject: HIR - Add EnumValue variant to Pattern --- src/hir/pattern.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/hir/pattern.cpp') diff --git a/src/hir/pattern.cpp b/src/hir/pattern.cpp index 8a95fa53..386d1699 100644 --- a/src/hir/pattern.cpp +++ b/src/hir/pattern.cpp @@ -76,6 +76,9 @@ namespace HIR { os << e.start << " ... " << e.end; ), + (EnumValue, + os << e.path; + ), (EnumTuple, os << e.path; os << "("; @@ -84,7 +87,7 @@ namespace HIR { os << ")"; ), (EnumTupleWildcard, - os << e.path; + os << e.path << "(..)"; ), (EnumStruct, os << e.path; @@ -204,14 +207,17 @@ namespace { })); ), + (EnumValue, + return Pattern(m_binding, Data::make_EnumValue({ e.path.clone(), e.binding_ptr, e.binding_idx })); + ), (EnumTuple, return Pattern(m_binding, Data::make_EnumTupleWildcard({ - e.path.clone() + e.path.clone(), e.binding_ptr, e.binding_idx })); ), (EnumTupleWildcard, return Pattern(m_binding, Data::make_EnumTupleWildcard({ - e.path.clone() + e.path.clone(), e.binding_ptr, e.binding_idx })); ), (EnumStruct, -- cgit v1.2.3