diff options
author | Mark Wielaard <mark@klomp.org> | 2021-10-29 16:39:31 +0100 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2021-11-01 13:12:47 +0000 |
commit | 3c02a29f576ea423f7ec767aca12f3333e2814f0 (patch) | |
tree | 9f7f276980371c8bc81c906b8a81409ff5bf0ce2 /gcc | |
parent | 1be610afab2d1f3fce433be2eeb9b4b8d11bdf0d (diff) | |
download | gcc-3c02a29f576ea423f7ec767aca12f3333e2814f0.zip gcc-3c02a29f576ea423f7ec767aca12f3333e2814f0.tar.gz gcc-3c02a29f576ea423f7ec767aca12f3333e2814f0.tar.bz2 |
Add missing accessors for enum items
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-item.h | 22 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir.h | 2 |
2 files changed, 20 insertions, 4 deletions
diff --git a/gcc/rust/hir/tree/rust-hir-item.h b/gcc/rust/hir/tree/rust-hir-item.h index 9b8793f..12d0c20 100644 --- a/gcc/rust/hir/tree/rust-hir-item.h +++ b/gcc/rust/hir/tree/rust-hir-item.h @@ -1694,12 +1694,12 @@ public: return std::unique_ptr<EnumItem> (clone_item_impl ()); } - virtual std::string as_string () const; + virtual std::string as_string () const override; // not pure virtual as not abstract - virtual void accept_vis (HIRVisitor &vis); + virtual void accept_vis (HIRVisitor &vis) override; - Location get_locus () const { return locus; } + Location get_locus () const override { return locus; } Identifier get_identifier () const { return variant_name; } @@ -1729,6 +1729,8 @@ public: void accept_vis (HIRVisitor &vis) override; + std::vector<TupleField> &get_tuple_fields () { return tuple_fields; } + protected: // Clone function implementation as (not pure) virtual method EnumItemTuple *clone_item_impl () const override @@ -1759,6 +1761,8 @@ public: void accept_vis (HIRVisitor &vis) override; + std::vector<StructField> &get_struct_fields () { return struct_fields; } + protected: // Clone function implementation as (not pure) virtual method EnumItemStruct *clone_item_impl () const override @@ -1805,6 +1809,8 @@ public: void accept_vis (HIRVisitor &vis) override; + std::unique_ptr<Expr> &get_discriminant_expression () { return expression; } + protected: // Clone function implementation as (not pure) virtual method EnumItemDiscriminant *clone_item_impl () const override @@ -1899,6 +1905,16 @@ public: Identifier get_identifier () const { return enum_name; } + std::vector<std::unique_ptr<GenericParam>> &get_generic_params () + { + return generic_params; + } + + const std::vector<std::unique_ptr<EnumItem>> &get_variants () const + { + return items; + } + protected: /* Use covariance to implement clone function as returning this object * rather than base */ diff --git a/gcc/rust/hir/tree/rust-hir.h b/gcc/rust/hir/tree/rust-hir.h index 667f4d08..d7977b4 100644 --- a/gcc/rust/hir/tree/rust-hir.h +++ b/gcc/rust/hir/tree/rust-hir.h @@ -127,7 +127,7 @@ public: return std::unique_ptr<Item> (clone_item_impl ()); } - std::string as_string () const; + std::string as_string () const override; /* Adds crate names to the vector passed by reference, if it can * (polymorphism). */ |