aboutsummaryrefslogtreecommitdiff
path: root/boot/ast.cc
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-07-08 11:04:34 +0200
committerEugen Wissner <belka@caraus.de>2026-07-08 11:04:34 +0200
commitffe6097c534c82b9402bb6f0a57abeebd075e61d (patch)
tree9079255db89007046fe1446d27009df8585a154e /boot/ast.cc
parent79521d91b2bb85652fd29f5c44279338d55c757f (diff)
downloadelna-ffe6097c534c82b9402bb6f0a57abeebd075e61d.tar.gz
Allow multiple fields with the same type
Diffstat (limited to 'boot/ast.cc')
-rw-r--r--boot/ast.cc19
1 files changed, 1 insertions, 18 deletions
diff --git a/boot/ast.cc b/boot/ast.cc
index b7604e5..5885cff 100644
--- a/boot/ast.cc
+++ b/boot/ast.cc
@@ -388,14 +388,6 @@ namespace elna::boot
{
}
- record_type_expression::~record_type_expression()
- {
- for (const field_declaration& field : this->fields)
- {
- delete field.second;
- }
- }
-
void record_type_expression::accept(parser_visitor *visitor)
{
visitor->visit(this);
@@ -412,14 +404,6 @@ namespace elna::boot
{
}
- union_type_expression::~union_type_expression()
- {
- for (const field_declaration& field : this->fields)
- {
- delete field.second;
- }
- }
-
void union_type_expression::accept(parser_visitor *visitor)
{
visitor->visit(this);
@@ -486,8 +470,7 @@ namespace elna::boot
}
procedure_type_expression::procedure_type_expression(const struct position position,
- std::vector<std::pair<std::vector<std::string>, std::shared_ptr<type_expression>>>&& parameters,
- return_t return_type)
+ std::vector<field_declaration>&& parameters, return_t return_type)
: node(position), return_type(return_type), parameters(std::move(parameters))
{
}