diff options
Diffstat (limited to 'src/hir/visitor.cpp')
-rw-r--r-- | src/hir/visitor.cpp | 10 |
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); |