summaryrefslogtreecommitdiff
path: root/src/hir/visitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/visitor.cpp')
-rw-r--r--src/hir/visitor.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/hir/visitor.cpp b/src/hir/visitor.cpp
index 64458901..c489e053 100644
--- a/src/hir/visitor.cpp
+++ b/src/hir/visitor.cpp
@@ -55,6 +55,10 @@ void ::HIR::Visitor::visit_module(::HIR::ItemPath p, ::HIR::Module& mod)
DEBUG("struct " << name);
this->visit_struct(p + name, e);
),
+ (Union,
+ DEBUG("union " << name);
+ this->visit_union(p + name, e);
+ ),
(Trait,
DEBUG("trait " << name);
this->visit_trait(p + name, e);
@@ -223,6 +227,12 @@ void ::HIR::Visitor::visit_enum(::HIR::ItemPath p, ::HIR::Enum& item)
)
}
}
+void ::HIR::Visitor::visit_union(::HIR::ItemPath p, ::HIR::Union& item)
+{
+ this->visit_params(item.m_params);
+ for(auto& var : item.m_variants)
+ this->visit_type(var.second.ent);
+}
void ::HIR::Visitor::visit_function(::HIR::ItemPath p, ::HIR::Function& item)
{
this->visit_params(item.m_params);