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 /boot/symbol.cc | |
| parent | 14d4977e2ab2409bb7344395ca01d19e49f130f1 (diff) | |
| download | elna-768537d6e4b82a19e77b7e44234309ecaf4d65d2.tar.gz | |
Remove unions
Diffstat (limited to 'boot/symbol.cc')
| -rw-r--r-- | boot/symbol.cc | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/boot/symbol.cc b/boot/symbol.cc index b75cdc1..9052b23 100644 --- a/boot/symbol.cc +++ b/boot/symbol.cc @@ -38,11 +38,6 @@ namespace elna::boot { } - type::type(std::shared_ptr<union_type> _union) - : tag(type_tag::_union), _union(_union) - { - } - type::type(std::shared_ptr<pointer_type> pointer) : tag(type_tag::pointer), pointer(pointer) { @@ -78,9 +73,6 @@ namespace elna::boot case type_tag::record: new (&record) std::shared_ptr<record_type>(other.record); break; - case type_tag::_union: - new (&_union) std::shared_ptr<union_type>(other._union); - break; case type_tag::pointer: new (&pointer) std::shared_ptr<pointer_type>(other.pointer); break; @@ -117,9 +109,6 @@ namespace elna::boot case type_tag::record: new (&record) std::shared_ptr<record_type>(std::move(other.record)); break; - case type_tag::_union: - new (&_union) std::shared_ptr<union_type>(std::move(other._union)); - break; case type_tag::pointer: new (&pointer) std::shared_ptr<pointer_type>(std::move(other.pointer)); break; @@ -172,9 +161,6 @@ namespace elna::boot case type_tag::record: this->record.~shared_ptr<record_type>(); break; - case type_tag::_union: - this->_union.~shared_ptr<union_type>(); - break; case type_tag::pointer: this->pointer.~shared_ptr<pointer_type>(); break; @@ -209,12 +195,6 @@ namespace elna::boot } template<> - std::shared_ptr<union_type> type::get<union_type>() const - { - return tag == type_tag::_union ? this->_union : nullptr; - } - - template<> std::shared_ptr<pointer_type> type::get<pointer_type>() const { return tag == type_tag::pointer ? this->pointer : nullptr; @@ -258,10 +238,6 @@ namespace elna::boot return right_primitive != nullptr && left_primitive->identifier == right_primitive->identifier; } - if (auto left_union = resolved_this.get<union_type>()) - { - return left_union == resolved_that.get<union_type>(); - } if (auto left_enumeration = resolved_this.get<enumeration_type>()) { return left_enumeration == resolved_that.get<enumeration_type>(); |
