diff options
Diffstat (limited to 'boot/symbol.cc')
| -rw-r--r-- | boot/symbol.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/boot/symbol.cc b/boot/symbol.cc index d01eb8e..512cf04 100644 --- a/boot/symbol.cc +++ b/boot/symbol.cc @@ -429,4 +429,21 @@ namespace elna::boot { this->imports.push_front(bag.symbols); } + + type inner_aliased_type(std::shared_ptr<alias_type> alias) + { + return inner_aliased_type(alias->reference); + } + + type inner_aliased_type(type alias) + { + if (auto aliased = alias.get<alias_type>()) + { + return inner_aliased_type(aliased); + } + else + { + return alias; + } + } } |
