diff options
author | Marc Poulhiès <dkm@kataplop.net> | 2023-06-29 20:47:16 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:49:30 +0100 |
commit | 0ee496d5dc105b1925af0366d72c91c4e5712b3c (patch) | |
tree | 7309d9592b100545c246c1f3836619978666e157 /gcc/rust | |
parent | 0cecd8278901c32b0326f32105f63ed481bae0c9 (diff) | |
download | gcc-0ee496d5dc105b1925af0366d72c91c4e5712b3c.zip gcc-0ee496d5dc105b1925af0366d72c91c4e5712b3c.tar.gz gcc-0ee496d5dc105b1925af0366d72c91c4e5712b3c.tar.bz2 |
gccrs: Add new getters
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 <dkm@kataplop.net>
Diffstat (limited to 'gcc/rust')
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-expr.h | 5 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-item.h | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/rust/hir/tree/rust-hir-expr.h b/gcc/rust/hir/tree/rust-hir-expr.h index 9bd4941..a783da1 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<Expr> &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<BlockExpr> &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 13e933b..c719a7b 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<std::unique_ptr<EnumItem>> &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; } |