https://gcc.gnu.org/g:d2f33c584f7783e8b3b7656a67b6eab0a5834398
commit d2f33c584f7783e8b3b7656a67b6eab0a5834398 Author: Jakub Dupak <d...@jakubdupak.com> Date: Sun Dec 3 11:07:04 2023 +0100 HIR: add missing getters gcc/rust/ChangeLog: * hir/tree/rust-hir-item.h: Ad lifetime getter. * hir/tree/rust-hir-path.h: Make getter const ref. * hir/tree/rust-hir.h: Const ref and new getter. Signed-off-by: Jakub Dupak <d...@jakubdupak.com> Diff: --- gcc/rust/hir/tree/rust-hir-item.h | 2 ++ gcc/rust/hir/tree/rust-hir-path.h | 4 ++++ gcc/rust/hir/tree/rust-hir.h | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/rust/hir/tree/rust-hir-item.h b/gcc/rust/hir/tree/rust-hir-item.h index 4a418b6895af..3c566d79cf9c 100644 --- a/gcc/rust/hir/tree/rust-hir-item.h +++ b/gcc/rust/hir/tree/rust-hir-item.h @@ -443,6 +443,8 @@ public: // Returns whether the self-param has a valid lifetime. bool has_lifetime () const { return !lifetime.is_error (); } + const Lifetime &get_lifetime () const { return lifetime; } + // Returns whether the self-param is in an error state. bool is_error () const { return self_kind == ImplicitSelfKind::NONE; } diff --git a/gcc/rust/hir/tree/rust-hir-path.h b/gcc/rust/hir/tree/rust-hir-path.h index c07448060431..0413e150a5e2 100644 --- a/gcc/rust/hir/tree/rust-hir-path.h +++ b/gcc/rust/hir/tree/rust-hir-path.h @@ -218,6 +218,10 @@ public: std::string as_string () const; std::vector<Lifetime> &get_lifetime_args () { return lifetime_args; } + const std::vector<Lifetime> &get_lifetime_args () const + { + return lifetime_args; + } std::vector<std::unique_ptr<Type> > &get_type_args () { return type_args; } diff --git a/gcc/rust/hir/tree/rust-hir.h b/gcc/rust/hir/tree/rust-hir.h index 81baa500d0cf..c8191f5c7c82 100644 --- a/gcc/rust/hir/tree/rust-hir.h +++ b/gcc/rust/hir/tree/rust-hir.h @@ -572,7 +572,10 @@ public: void accept_vis (HIRFullVisitor &vis) override; - std::string get_name () const { return lifetime_name; } + WARN_UNUSED_RESULT const std::string &get_name () const + { + return lifetime_name; + } AST::Lifetime::LifetimeType get_lifetime_type () const { @@ -662,6 +665,8 @@ public: // Returns whether the lifetime param has any lifetime bounds. bool has_lifetime_bounds () const { return !lifetime_bounds.empty (); } + std::vector<Lifetime> &get_lifetime_bounds () { return lifetime_bounds; } + // Returns whether the lifetime param has an outer attribute. bool has_outer_attribute () const { return !outer_attr.is_empty (); }