aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2021-10-29 16:39:31 +0100
committerPhilip Herron <philip.herron@embecosm.com>2021-11-01 13:12:47 +0000
commit3c02a29f576ea423f7ec767aca12f3333e2814f0 (patch)
tree9f7f276980371c8bc81c906b8a81409ff5bf0ce2 /gcc
parent1be610afab2d1f3fce433be2eeb9b4b8d11bdf0d (diff)
downloadgcc-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.h22
-rw-r--r--gcc/rust/hir/tree/rust-hir.h2
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). */