aboutsummaryrefslogtreecommitdiff
path: root/boot/ast.cc
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-07-14 18:08:44 +0200
committerEugen Wissner <belka@caraus.de>2026-07-14 18:08:44 +0200
commita32a61813ebaecf0c1e69fd1481bf09d8c8b1420 (patch)
treeecfb6140075e3c46b599755e220dbf560de2e31d /boot/ast.cc
parent51e2f98e33ae10fc3052335cc6847bc93d0784fa (diff)
downloadelna-a32a61813ebaecf0c1e69fd1481bf09d8c8b1420.tar.gz
Support more floating point literals
Diffstat (limited to 'boot/ast.cc')
-rw-r--r--boot/ast.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/boot/ast.cc b/boot/ast.cc
index 4af906f..14bad30 100644
--- a/boot/ast.cc
+++ b/boot/ast.cc
@@ -432,9 +432,9 @@ namespace elna::boot
void walking_visitor::visit(traits_expression *trait)
{
- if (!trait->parameters.empty())
+ if (!trait->arguments.empty())
{
- trait->parameters.front()->accept(this);
+ trait->arguments.front()->accept(this);
}
}
@@ -1148,8 +1148,9 @@ namespace elna::boot
delete m_operand;
}
- procedure_call::procedure_call(const struct position position, designator_expression *callable)
- : node(position), m_callable(callable)
+ procedure_call::procedure_call(const struct position position, designator_expression *callable,
+ std::vector<expression *>&& arguments)
+ : node(position), m_callable(callable), arguments(std::move(arguments))
{
}
@@ -1208,16 +1209,17 @@ namespace elna::boot
delete m_value;
}
- traits_expression::traits_expression(const struct position position, const std::string& name)
- : node(position), name(name)
+ traits_expression::traits_expression(const struct position position, const std::string& name,
+ std::vector<type_expression *>&& arguments)
+ : node(position), arguments(std::move(arguments)), name(name)
{
}
traits_expression::~traits_expression()
{
- for (const type_expression *parameter : this->parameters)
+ for (const type_expression *argument : this->arguments)
{
- delete parameter;
+ delete argument;
}
}