aboutsummaryrefslogtreecommitdiff
path: root/boot/dependency.cc
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-07-26 19:47:59 +0200
committerEugen Wissner <belka@caraus.de>2026-07-26 19:47:59 +0200
commit5cdaceb77af6a1d98145f8afb34ce6884e21a3d6 (patch)
tree1f75fa1aeee67a72017dbaa2fb006e93c943700d /boot/dependency.cc
parentdea1c177cd3592cc24fd15ad446a676da2e4da28 (diff)
downloadelna-5cdaceb77af6a1d98145f8afb34ce6884e21a3d6.tar.gz
Type check traits properly
Diffstat (limited to 'boot/dependency.cc')
-rw-r--r--boot/dependency.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/boot/dependency.cc b/boot/dependency.cc
index dc827fa..63d3952 100644
--- a/boot/dependency.cc
+++ b/boot/dependency.cc
@@ -56,7 +56,7 @@ namespace elna::boot
return outcome;
}
- error_list analyze_semantics(std::unique_ptr<unit>& tree, const symbol_bag& bag,
+ error_list analyze_semantics(std::unique_ptr<unit>& tree, symbol_bag& bag,
const target_info& target)
{
name_analysis_visitor name_analyser(bag);
@@ -73,6 +73,13 @@ namespace elna::boot
{
return std::move(type_analyzer.errors());
}
+ constant_folder folder(bag, target);
+ tree->accept(&folder);
+
+ if (folder.has_errors())
+ {
+ return std::move(folder.errors());
+ }
return error_list{};
}