diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2023-04-08 01:37:56 -0400 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2023-04-13 11:50:47 +0000 |
commit | 862ec75eaf907fdaf5eac5b467ebafb7f5bf2795 (patch) | |
tree | 47bf310eaae8a51761be6d294128992b177d9d3b /gcc/rust/hir | |
parent | b0487d6731d5d901154396e1d804a671371ac2eb (diff) | |
download | gcc-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.cc | 5 | ||||
-rw-r--r-- | gcc/rust/hir/rust-hir-dump.h | 3 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-stmt.h | 9 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-visitor.h | 9 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir.cc | 16 |
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); |