diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-08-23 20:01:55 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-08-23 20:01:55 +0200 |
| commit | 7d0d0eb69589ab8e0c8b036a3b642593a372b041 (patch) | |
| tree | cf3731cec0ab67a0d574450fbe24c3cff4a7a9e6 /boot/ast.cc | |
| parent | bf41d022ce9736a92097f416ab96fca7ab4594ca (diff) | |
| download | elna-7d0d0eb69589ab8e0c8b036a3b642593a372b041.tar.gz | |
Determine array type by the first element
Diffstat (limited to 'boot/ast.cc')
| -rw-r--r-- | boot/ast.cc | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/boot/ast.cc b/boot/ast.cc index 1f2b884..d4f015b 100644 --- a/boot/ast.cc +++ b/boot/ast.cc @@ -461,7 +461,6 @@ namespace elna::boot void walking_visitor::visit(array_constructor_expression *expression) { - expression->array_type().accept(this); for (auto *element : expression->elements) { element->accept(this); @@ -844,8 +843,8 @@ namespace elna::boot } array_constructor_expression::array_constructor_expression(const source_position position, - array_type_expression *element_type, std::vector<expression *>&& elements) - : node(position), m_element_type(element_type), elements(std::move(elements)) + std::vector<expression *>&& elements) + : node(position), elements(std::move(elements)) { } @@ -859,14 +858,8 @@ namespace elna::boot return this; } - array_type_expression& array_constructor_expression::array_type() const - { - return *this->m_element_type; - } - array_constructor_expression::~array_constructor_expression() { - delete this->m_element_type; for (const expression *element : elements) { delete element; |
