aboutsummaryrefslogtreecommitdiff
path: root/boot/symbol.cc
diff options
context:
space:
mode:
Diffstat (limited to 'boot/symbol.cc')
-rw-r--r--boot/symbol.cc17
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;
+ }
+ }
}