diff options
author | John Hodge <tpg@mutabah.net> | 2016-10-31 10:01:41 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-10-31 10:01:41 +0800 |
commit | fc7239e7271e879102272ea4d7e98f87f027ee84 (patch) | |
tree | 8134b59f26d6901b0eefc7709bb4ad40afda7f11 /src/hir/visitor.cpp | |
parent | ea043a43eeff8512396afc166ca1d0085873c57d (diff) | |
download | mrust-fc7239e7271e879102272ea4d7e98f87f027ee84.tar.gz |
All - Rough support for `union` (data structure present in all stages)
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); |