diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-07-12 13:23:54 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-07-12 13:23:54 +0200 |
| commit | 768537d6e4b82a19e77b7e44234309ecaf4d65d2 (patch) | |
| tree | ab22613a16c3a914b16d00a5f988f51d1eadac0d /include | |
| parent | 14d4977e2ab2409bb7344395ca01d19e49f130f1 (diff) | |
| download | elna-768537d6e4b82a19e77b7e44234309ecaf4d65d2.tar.gz | |
Remove unions
Diffstat (limited to 'include')
| -rw-r--r-- | include/elna/boot/ast.h | 16 | ||||
| -rw-r--r-- | include/elna/boot/semantic.h | 1 | ||||
| -rw-r--r-- | include/elna/boot/symbol.h | 9 |
3 files changed, 0 insertions, 26 deletions
diff --git a/include/elna/boot/ast.h b/include/elna/boot/ast.h index 17a0dc1..d9f3af8 100644 --- a/include/elna/boot/ast.h +++ b/include/elna/boot/ast.h @@ -74,7 +74,6 @@ namespace elna::boot class array_type_expression; class pointer_type_expression; class record_type_expression; - class union_type_expression; class procedure_type_expression; class enumeration_type_expression; class named_expression; @@ -114,7 +113,6 @@ namespace elna::boot virtual void visit(array_type_expression *) = 0; virtual void visit(pointer_type_expression *) = 0; virtual void visit(record_type_expression *) = 0; - virtual void visit(union_type_expression *) = 0; virtual void visit(procedure_type_expression *) = 0; virtual void visit(enumeration_type_expression *) = 0; virtual void visit(named_expression *) = 0; @@ -140,7 +138,6 @@ namespace elna::boot [[noreturn]] virtual void visit(pointer_type_expression *) override; [[noreturn]] virtual void visit(type_declaration *) override; [[noreturn]] virtual void visit(record_type_expression *) override; - [[noreturn]] virtual void visit(union_type_expression *) override; [[noreturn]] virtual void visit(procedure_type_expression *) override; [[noreturn]] virtual void visit(enumeration_type_expression *) override; @@ -184,7 +181,6 @@ namespace elna::boot virtual void visit(pointer_type_expression *) override; virtual void visit(type_declaration *) override; virtual void visit(record_type_expression *) override; - virtual void visit(union_type_expression *) override; virtual void visit(procedure_type_expression *) override; virtual void visit(enumeration_type_expression *) override; @@ -281,7 +277,6 @@ namespace elna::boot virtual array_type_expression *is_array(); virtual pointer_type_expression *is_pointer(); virtual record_type_expression *is_record(); - virtual union_type_expression *is_union(); virtual procedure_type_expression *is_procedure(); virtual enumeration_type_expression *is_enumeration(); }; @@ -334,17 +329,6 @@ namespace elna::boot record_type_expression *is_record() override; }; - class union_type_expression : public type_expression - { - public: - std::vector<field_declaration> fields; - - union_type_expression(const struct position position, std::vector<field_declaration>&& fields); - - void accept(parser_visitor *visitor) override; - union_type_expression *is_union() override; - }; - /** * Enumeration type. */ diff --git a/include/elna/boot/semantic.h b/include/elna/boot/semantic.h index e351258..c686cf8 100644 --- a/include/elna/boot/semantic.h +++ b/include/elna/boot/semantic.h @@ -197,7 +197,6 @@ namespace elna::boot void visit(pointer_type_expression *expression) override; void visit(type_declaration *declaration) override; void visit(record_type_expression *expression) override; - void visit(union_type_expression *expression) override; void visit(procedure_type_expression *expression) override; void visit(enumeration_type_expression *expression) override; diff --git a/include/elna/boot/symbol.h b/include/elna/boot/symbol.h index 85532db..d29587d 100644 --- a/include/elna/boot/symbol.h +++ b/include/elna/boot/symbol.h @@ -31,7 +31,6 @@ namespace elna::boot class alias_type; class primitive_type; class record_type; - class union_type; class pointer_type; class array_type; class procedure_type; @@ -45,7 +44,6 @@ namespace elna::boot alias, primitive, record, - _union, pointer, array, procedure, @@ -57,7 +55,6 @@ namespace elna::boot std::weak_ptr<alias_type> alias; std::shared_ptr<primitive_type> primitive; std::shared_ptr<record_type> record; - std::shared_ptr<union_type> _union; std::shared_ptr<pointer_type> pointer; std::shared_ptr<array_type> array; std::shared_ptr<procedure_type> procedure; @@ -72,7 +69,6 @@ namespace elna::boot explicit type(std::shared_ptr<alias_type> alias); explicit type(std::shared_ptr<primitive_type> primitive); explicit type(std::shared_ptr<record_type> record); - explicit type(std::shared_ptr<union_type> _union); explicit type(std::shared_ptr<pointer_type> pointer); explicit type(std::shared_ptr<array_type> array); explicit type(std::shared_ptr<procedure_type> procedure); @@ -135,11 +131,6 @@ namespace elna::boot explicit record_type(type base = type()); }; - struct union_type - { - std::vector<type_field> fields; - }; - struct procedure_type { using return_t = return_declaration<type>; |
