aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/hir/tree
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2023-04-08 01:37:56 -0400
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:28:46 +0100
commitd93a1f032db86fe602566a6868b9bc5279554e71 (patch)
tree850ed40994e2db2023d72f4baf0e936e16a1f753 /gcc/rust/hir/tree
parentfb2c17fc1f2cfe29ef0fd90ae8d36141882fa95d (diff)
downloadgcc-d93a1f032db86fe602566a6868b9bc5279554e71.zip
gcc-d93a1f032db86fe602566a6868b9bc5279554e71.tar.gz
gcc-d93a1f032db86fe602566a6868b9bc5279554e71.tar.bz2
gccrs: Unify HIR::ExprStmt derived class visiting
gcc/rust/ChangeLog: * backend/rust-compile-stmt.cc (CompileStmt::visit): Unify ExprStmtWith{,out}Block visitors. * backend/rust-compile-stmt.h (CompileStmt::visit): Likewise. * backend/rust-compile-item.h (CompileItem::visit): Likewise. * hir/rust-hir-dump.cc (Dump::visit): Likewise. * hir/rust-hir-dump.h (Dump::visit): Likewise. * hir/tree/rust-hir-stmt.h (ExprStmt::accept_vis): Add. (ExprStmtWithoutBlock::accept_vis): Remove. (ExprStmtWithBlock::accept_vis): Remove. * hir/tree/rust-hir.cc (ExprStmt::accept_vis): Add. (ExprStmtWithoutBlock::accept_vis): Remove. (ExprStmtWithBlock::accept_vis): Remove. * hir/tree/rust-hir-visitor.h (HIRFullVisitor::visit): Likewise. (HIRFullVisitorBase::visit): Likewise. (HIRStmtVisitor::visit): Likewise. * checks/errors/rust-const-checker.cc (ConstChecker::visit): Likewise. * checks/errors/rust-const-checker.h (ConstChecker::visit): Likewise. * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Likewise. * checks/errors/rust-unsafe-checker.h (UnsafeChecker::visit): Likewise. * checks/errors/privacy/rust-privacy-reporter.cc (PrivacyReporter::visit): Likewise. * checks/errors/privacy/rust-privacy-reporter.h (PrivacyReporter::visit): Likewise. * checks/lints/rust-lint-marklive.h (MarkLive::visit): Likewise. * typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::visit): Likewise. * typecheck/rust-hir-type-check-stmt.h (TypeCheckStmt::visit): Likewise. * typecheck/rust-tycheck-dump.h (TypeResolverDump::visit): Likewise. Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc/rust/hir/tree')
-rw-r--r--gcc/rust/hir/tree/rust-hir-stmt.h9
-rw-r--r--gcc/rust/hir/tree/rust-hir-visitor.h9
-rw-r--r--gcc/rust/hir/tree/rust-hir.cc16
3 files changed, 8 insertions, 26 deletions
diff --git a/gcc/rust/hir/tree/rust-hir-stmt.h b/gcc/rust/hir/tree/rust-hir-stmt.h
index db45d19..07d29a5 100644
--- a/gcc/rust/hir/tree/rust-hir-stmt.h
+++ b/gcc/rust/hir/tree/rust-hir-stmt.h
@@ -166,6 +166,9 @@ public:
Location get_locus () const override final { return locus; }
+ void accept_vis (HIRFullVisitor &vis) override;
+ void accept_vis (HIRStmtVisitor &vis) override;
+
bool is_item () const override final { return false; }
Expr *get_expr () { return expr.get (); }
@@ -206,9 +209,6 @@ public:
: ExprStmt (std::move (mappings), std::move (expr), locus)
{}
- void accept_vis (HIRFullVisitor &vis) override;
- void accept_vis (HIRStmtVisitor &vis) override;
-
protected:
/* Use covariance to implement clone function as returning this object rather
* than base */
@@ -231,9 +231,6 @@ public:
must_be_unit (must_be_unit)
{}
- void accept_vis (HIRFullVisitor &vis) override;
- void accept_vis (HIRStmtVisitor &vis) override;
-
bool is_unit_check_needed () const override { return must_be_unit; }
protected:
diff --git a/gcc/rust/hir/tree/rust-hir-visitor.h b/gcc/rust/hir/tree/rust-hir-visitor.h
index c35db8e..38c74f6 100644
--- a/gcc/rust/hir/tree/rust-hir-visitor.h
+++ b/gcc/rust/hir/tree/rust-hir-visitor.h
@@ -138,8 +138,7 @@ public:
virtual void visit (AltPattern &pattern) = 0;
virtual void visit (EmptyStmt &stmt) = 0;
virtual void visit (LetStmt &stmt) = 0;
- virtual void visit (ExprStmtWithoutBlock &stmt) = 0;
- virtual void visit (ExprStmtWithBlock &stmt) = 0;
+ virtual void visit (ExprStmt &stmt) = 0;
virtual void visit (TraitBound &bound) = 0;
virtual void visit (ImplTraitType &type) = 0;
virtual void visit (TraitObjectType &type) = 0;
@@ -287,8 +286,7 @@ public:
virtual void visit (EmptyStmt &) override {}
virtual void visit (LetStmt &) override {}
- virtual void visit (ExprStmtWithoutBlock &) override {}
- virtual void visit (ExprStmtWithBlock &) override {}
+ virtual void visit (ExprStmt &) override {}
virtual void visit (TraitBound &) override {}
virtual void visit (ImplTraitType &) override {}
@@ -394,8 +392,7 @@ public:
virtual void visit (ExternBlock &block) = 0;
virtual void visit (EmptyStmt &stmt) = 0;
virtual void visit (LetStmt &stmt) = 0;
- virtual void visit (ExprStmtWithoutBlock &stmt) = 0;
- virtual void visit (ExprStmtWithBlock &stmt) = 0;
+ virtual void visit (ExprStmt &stmt) = 0;
};
class HIRExpressionVisitor
diff --git a/gcc/rust/hir/tree/rust-hir.cc b/gcc/rust/hir/tree/rust-hir.cc
index e78ada1..ac04706 100644
--- a/gcc/rust/hir/tree/rust-hir.cc
+++ b/gcc/rust/hir/tree/rust-hir.cc
@@ -4426,13 +4426,7 @@ LetStmt::accept_vis (HIRFullVisitor &vis)
}
void
-ExprStmtWithoutBlock::accept_vis (HIRFullVisitor &vis)
-{
- vis.visit (*this);
-}
-
-void
-ExprStmtWithBlock::accept_vis (HIRFullVisitor &vis)
+ExprStmt::accept_vis (HIRFullVisitor &vis)
{
vis.visit (*this);
}
@@ -4774,7 +4768,7 @@ QualifiedPathInType::accept_vis (HIRTypeVisitor &vis)
}
void
-ExprStmtWithoutBlock::accept_vis (HIRStmtVisitor &vis)
+ExprStmt::accept_vis (HIRStmtVisitor &vis)
{
vis.visit (*this);
}
@@ -4954,12 +4948,6 @@ QualifiedPathInExpression::accept_vis (HIRPatternVisitor &vis)
}
void
-ExprStmtWithBlock::accept_vis (HIRStmtVisitor &vis)
-{
- vis.visit (*this);
-}
-
-void
PathInExpression::accept_vis (HIRPatternVisitor &vis)
{
vis.visit (*this);