aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/hir
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2023-04-08 01:37:56 -0400
committerPhilip Herron <philip.herron@embecosm.com>2023-04-13 11:50:47 +0000
commit862ec75eaf907fdaf5eac5b467ebafb7f5bf2795 (patch)
tree47bf310eaae8a51761be6d294128992b177d9d3b /gcc/rust/hir
parentb0487d6731d5d901154396e1d804a671371ac2eb (diff)
downloadgcc-862ec75eaf907fdaf5eac5b467ebafb7f5bf2795.zip
gcc-862ec75eaf907fdaf5eac5b467ebafb7f5bf2795.tar.gz
gcc-862ec75eaf907fdaf5eac5b467ebafb7f5bf2795.tar.bz2
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')
-rw-r--r--gcc/rust/hir/rust-hir-dump.cc5
-rw-r--r--gcc/rust/hir/rust-hir-dump.h3
-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
5 files changed, 10 insertions, 32 deletions
diff --git a/gcc/rust/hir/rust-hir-dump.cc b/gcc/rust/hir/rust-hir-dump.cc
index bc4ff53..4b0d613 100644
--- a/gcc/rust/hir/rust-hir-dump.cc
+++ b/gcc/rust/hir/rust-hir-dump.cc
@@ -649,14 +649,11 @@ Dump::visit (LetStmt &let_stmt)
indentation.decrement ();
}
void
-Dump::visit (ExprStmtWithoutBlock &expr_stmt)
+Dump::visit (ExprStmt &expr_stmt)
{
auto expr = expr_stmt.get_expr ();
expr->accept_vis (*this);
}
-void
-Dump::visit (ExprStmtWithBlock &)
-{}
void
Dump::visit (TraitBound &)
diff --git a/gcc/rust/hir/rust-hir-dump.h b/gcc/rust/hir/rust-hir-dump.h
index 7b8b54d..5cb10fb 100644
--- a/gcc/rust/hir/rust-hir-dump.h
+++ b/gcc/rust/hir/rust-hir-dump.h
@@ -165,8 +165,7 @@ private:
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;
diff --git a/gcc/rust/hir/tree/rust-hir-stmt.h b/gcc/rust/hir/tree/rust-hir-stmt.h
index 3e7697c..d5d76e0 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 17c9c6d..c7e1aad 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 47c62df..03e7e26 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);