From 0ee496d5dc105b1925af0366d72c91c4e5712b3c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc=20Poulhi=C3=A8s?= Date: Thu, 29 Jun 2023 20:47:16 +0200 Subject: [PATCH] gccrs: Add new getters MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Some class members were not accessible from outside, which will be needed for the new HIR dump. gcc/rust/ChangeLog: * hir/tree/rust-hir-expr.h (AwaitExpr::get_awaited_expr): New. (AsyncBlockExpr::get_has_move, AsyncBlockExpr::get_block_expr): New. * hir/tree/rust-hir-item.h (Enum::get_where_clause): New. (Trait::get_where_clause, Trait::is_unsafe): New. (ExternalItem::get_visibility): New. Signed-off-by: Marc Poulhiès --- gcc/rust/hir/tree/rust-hir-expr.h | 5 +++++ gcc/rust/hir/tree/rust-hir-item.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/gcc/rust/hir/tree/rust-hir-expr.h b/gcc/rust/hir/tree/rust-hir-expr.h index 9bd4941ea13b..a783da1833c2 100644 --- a/gcc/rust/hir/tree/rust-hir-expr.h +++ b/gcc/rust/hir/tree/rust-hir-expr.h @@ -3755,6 +3755,8 @@ public: void accept_vis (HIRFullVisitor &vis) override; void accept_vis (HIRExpressionVisitor &vis) override; + std::unique_ptr &get_awaited_expr () { return awaited_expr; } + ExprType get_expression_type () const final override { return ExprType::Await; @@ -3809,6 +3811,9 @@ public: Location get_locus () const override final { return locus; } + bool get_has_move () const { return has_move; } + std::unique_ptr &get_block_expr () { return block_expr; } + void accept_vis (HIRFullVisitor &vis) override; void accept_vis (HIRExpressionVisitor &vis) override; diff --git a/gcc/rust/hir/tree/rust-hir-item.h b/gcc/rust/hir/tree/rust-hir-item.h index 13e933bbe184..c719a7b03b87 100644 --- a/gcc/rust/hir/tree/rust-hir-item.h +++ b/gcc/rust/hir/tree/rust-hir-item.h @@ -1965,6 +1965,7 @@ public: } std::vector> &get_variants () { return items; } + WhereClause &get_where_clause () { return where_clause; } protected: /* Use covariance to implement clone function as returning this object @@ -2638,7 +2639,10 @@ public: return trait_items; } + WhereClause &get_where_clause () { return where_clause; } + Identifier get_name () const { return name; } + bool is_unsafe () const { return unsafety == Unsafety::Unsafe; } // Mega-constructor Trait (Analysis::NodeMapping mappings, Identifier name, Unsafety unsafety, @@ -2894,6 +2898,7 @@ public: virtual void accept_vis (HIRFullVisitor &vis) = 0; virtual void accept_vis (HIRExternalItemVisitor &vis) = 0; + Visibility &get_visibility () { return visibility; } Analysis::NodeMapping get_mappings () const { return mappings; } Identifier get_item_name () const { return item_name; } -- 2.47.2