aboutsummaryrefslogtreecommitdiff
path: root/boot/symbol.cc
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-07-10 17:06:21 +0200
committerEugen Wissner <belka@caraus.de>2026-07-10 17:06:21 +0200
commitb7dd49c1d5832ac7d82edba27316884ab53e614c (patch)
tree24afc27b83974c9322088e5469d2d1894c0eb314 /boot/symbol.cc
parent36440faa345bf842c348711325312c2b02e4cc23 (diff)
downloadelna-b7dd49c1d5832ac7d82edba27316884ab53e614c.tar.gz
Report if the base type of a record is not a record
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;
+ }
+ }
}