summaryrefslogtreecommitdiff
path: root/src/hir/pattern.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/pattern.cpp')
-rw-r--r--src/hir/pattern.cpp12
1 files changed, 9 insertions, 3 deletions
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,