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 | |
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>
-rw-r--r-- | gcc/rust/backend/rust-compile-item.h | 3 | ||||
-rw-r--r-- | gcc/rust/backend/rust-compile-stmt.cc | 8 | ||||
-rw-r--r-- | gcc/rust/backend/rust-compile-stmt.h | 3 | ||||
-rw-r--r-- | gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc | 8 | ||||
-rw-r--r-- | gcc/rust/checks/errors/privacy/rust-privacy-reporter.h | 3 | ||||
-rw-r--r-- | gcc/rust/checks/errors/rust-const-checker.cc | 8 | ||||
-rw-r--r-- | gcc/rust/checks/errors/rust-const-checker.h | 3 | ||||
-rw-r--r-- | gcc/rust/checks/errors/rust-unsafe-checker.cc | 8 | ||||
-rw-r--r-- | gcc/rust/checks/errors/rust-unsafe-checker.h | 3 | ||||
-rw-r--r-- | gcc/rust/checks/lints/rust-lint-marklive.h | 7 | ||||
-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 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-hir-type-check-stmt.cc | 8 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-hir-type-check-stmt.h | 3 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-tycheck-dump.h | 7 |
18 files changed, 23 insertions, 91 deletions
diff --git a/gcc/rust/backend/rust-compile-item.h b/gcc/rust/backend/rust-compile-item.h index ae3fdf6..70efc15 100644 --- a/gcc/rust/backend/rust-compile-item.h +++ b/gcc/rust/backend/rust-compile-item.h @@ -68,8 +68,7 @@ public: void visit (HIR::Trait &) override {} void visit (HIR::EmptyStmt &) override {} void visit (HIR::LetStmt &) override {} - void visit (HIR::ExprStmtWithoutBlock &) override {} - void visit (HIR::ExprStmtWithBlock &) override {} + void visit (HIR::ExprStmt &) override {} protected: CompileItem (Context *ctx, TyTy::BaseType *concrete, Location ref_locus) diff --git a/gcc/rust/backend/rust-compile-stmt.cc b/gcc/rust/backend/rust-compile-stmt.cc index 6bb4ead..5bb7b8d 100644 --- a/gcc/rust/backend/rust-compile-stmt.cc +++ b/gcc/rust/backend/rust-compile-stmt.cc @@ -36,13 +36,7 @@ CompileStmt::Compile (HIR::Stmt *stmt, Context *ctx) } void -CompileStmt::visit (HIR::ExprStmtWithBlock &stmt) -{ - translated = CompileExpr::Compile (stmt.get_expr (), ctx); -} - -void -CompileStmt::visit (HIR::ExprStmtWithoutBlock &stmt) +CompileStmt::visit (HIR::ExprStmt &stmt) { translated = CompileExpr::Compile (stmt.get_expr (), ctx); } diff --git a/gcc/rust/backend/rust-compile-stmt.h b/gcc/rust/backend/rust-compile-stmt.h index 1f06d54..498211d 100644 --- a/gcc/rust/backend/rust-compile-stmt.h +++ b/gcc/rust/backend/rust-compile-stmt.h @@ -29,8 +29,7 @@ class CompileStmt : private HIRCompileBase, protected HIR::HIRStmtVisitor public: static tree Compile (HIR::Stmt *stmt, Context *ctx); - void visit (HIR::ExprStmtWithBlock &stmt) override; - void visit (HIR::ExprStmtWithoutBlock &stmt) override; + void visit (HIR::ExprStmt &stmt) override; void visit (HIR::LetStmt &stmt) override; // Empty visit for unused Stmt HIR nodes. diff --git a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc index 2f31965..60bfc22 100644 --- a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc +++ b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc @@ -717,13 +717,7 @@ PrivacyReporter::visit (HIR::LetStmt &stmt) } void -PrivacyReporter::visit (HIR::ExprStmtWithoutBlock &stmt) -{ - stmt.get_expr ()->accept_vis (*this); -} - -void -PrivacyReporter::visit (HIR::ExprStmtWithBlock &stmt) +PrivacyReporter::visit (HIR::ExprStmt &stmt) { stmt.get_expr ()->accept_vis (*this); } diff --git a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h index c19d3fa..26b8354 100644 --- a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h +++ b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h @@ -151,8 +151,7 @@ types virtual void visit (HIR::ExternBlock &block); virtual void visit (HIR::EmptyStmt &stmt); virtual void visit (HIR::LetStmt &stmt); - virtual void visit (HIR::ExprStmtWithoutBlock &stmt); - virtual void visit (HIR::ExprStmtWithBlock &stmt); + virtual void visit (HIR::ExprStmt &stmt); Analysis::Mappings &mappings; Rust::Resolver::Resolver &resolver; diff --git a/gcc/rust/checks/errors/rust-const-checker.cc b/gcc/rust/checks/errors/rust-const-checker.cc index 131dc66..f368b22 100644 --- a/gcc/rust/checks/errors/rust-const-checker.cc +++ b/gcc/rust/checks/errors/rust-const-checker.cc @@ -821,13 +821,7 @@ ConstChecker::visit (LetStmt &stmt) } void -ConstChecker::visit (ExprStmtWithoutBlock &stmt) -{ - stmt.get_expr ()->accept_vis (*this); -} - -void -ConstChecker::visit (ExprStmtWithBlock &stmt) +ConstChecker::visit (ExprStmt &stmt) { stmt.get_expr ()->accept_vis (*this); } diff --git a/gcc/rust/checks/errors/rust-const-checker.h b/gcc/rust/checks/errors/rust-const-checker.h index 15c6158..bdc7f66 100644 --- a/gcc/rust/checks/errors/rust-const-checker.h +++ b/gcc/rust/checks/errors/rust-const-checker.h @@ -186,8 +186,7 @@ private: virtual void visit (AltPattern &pattern) override; virtual void visit (EmptyStmt &stmt) override; virtual void visit (LetStmt &stmt) override; - virtual void visit (ExprStmtWithoutBlock &stmt) override; - virtual void visit (ExprStmtWithBlock &stmt) override; + virtual void visit (ExprStmt &stmt) override; virtual void visit (TraitBound &bound) override; virtual void visit (ImplTraitType &type) override; virtual void visit (TraitObjectType &type) override; diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.cc b/gcc/rust/checks/errors/rust-unsafe-checker.cc index cdf6233..a0157e3 100644 --- a/gcc/rust/checks/errors/rust-unsafe-checker.cc +++ b/gcc/rust/checks/errors/rust-unsafe-checker.cc @@ -888,13 +888,7 @@ UnsafeChecker::visit (LetStmt &stmt) } void -UnsafeChecker::visit (ExprStmtWithoutBlock &stmt) -{ - stmt.get_expr ()->accept_vis (*this); -} - -void -UnsafeChecker::visit (ExprStmtWithBlock &stmt) +UnsafeChecker::visit (ExprStmt &stmt) { stmt.get_expr ()->accept_vis (*this); } diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.h b/gcc/rust/checks/errors/rust-unsafe-checker.h index a55c6db..6fb50a4 100644 --- a/gcc/rust/checks/errors/rust-unsafe-checker.h +++ b/gcc/rust/checks/errors/rust-unsafe-checker.h @@ -168,8 +168,7 @@ private: virtual void visit (AltPattern &pattern) override; virtual void visit (EmptyStmt &stmt) override; virtual void visit (LetStmt &stmt) override; - virtual void visit (ExprStmtWithoutBlock &stmt) override; - virtual void visit (ExprStmtWithBlock &stmt) override; + virtual void visit (ExprStmt &stmt) override; virtual void visit (TraitBound &bound) override; virtual void visit (ImplTraitType &type) override; virtual void visit (TraitObjectType &type) override; diff --git a/gcc/rust/checks/lints/rust-lint-marklive.h b/gcc/rust/checks/lints/rust-lint-marklive.h index be634a7..cf8f423 100644 --- a/gcc/rust/checks/lints/rust-lint-marklive.h +++ b/gcc/rust/checks/lints/rust-lint-marklive.h @@ -156,12 +156,7 @@ public: expr.get_iterator_expr ()->accept_vis (*this); } - void visit (HIR::ExprStmtWithoutBlock &stmt) override - { - stmt.get_expr ()->accept_vis (*this); - } - - void visit (HIR::ExprStmtWithBlock &stmt) override + void visit (HIR::ExprStmt &stmt) override { stmt.get_expr ()->accept_vis (*this); } 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); diff --git a/gcc/rust/typecheck/rust-hir-type-check-stmt.cc b/gcc/rust/typecheck/rust-hir-type-check-stmt.cc index 96ab3b1..18df2e5 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-stmt.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-stmt.cc @@ -36,13 +36,7 @@ TypeCheckStmt::Resolve (HIR::Stmt *stmt) } void -TypeCheckStmt::visit (HIR::ExprStmtWithBlock &stmt) -{ - infered = TypeCheckExpr::Resolve (stmt.get_expr ()); -} - -void -TypeCheckStmt::visit (HIR::ExprStmtWithoutBlock &stmt) +TypeCheckStmt::visit (HIR::ExprStmt &stmt) { infered = TypeCheckExpr::Resolve (stmt.get_expr ()); } diff --git a/gcc/rust/typecheck/rust-hir-type-check-stmt.h b/gcc/rust/typecheck/rust-hir-type-check-stmt.h index 04878b8..9e4ca08 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-stmt.h +++ b/gcc/rust/typecheck/rust-hir-type-check-stmt.h @@ -29,8 +29,7 @@ class TypeCheckStmt : private TypeCheckBase, private HIR::HIRStmtVisitor public: static TyTy::BaseType *Resolve (HIR::Stmt *stmt); - void visit (HIR::ExprStmtWithBlock &stmt) override; - void visit (HIR::ExprStmtWithoutBlock &stmt) override; + void visit (HIR::ExprStmt &stmt) override; void visit (HIR::EmptyStmt &stmt) override; void visit (HIR::ExternBlock &extern_block) override; void visit (HIR::ConstantItem &constant) override; diff --git a/gcc/rust/typecheck/rust-tycheck-dump.h b/gcc/rust/typecheck/rust-tycheck-dump.h index 0076fe9..f6f239f 100644 --- a/gcc/rust/typecheck/rust-tycheck-dump.h +++ b/gcc/rust/typecheck/rust-tycheck-dump.h @@ -136,12 +136,7 @@ public: } } - void visit (HIR::ExprStmtWithBlock &stmt) override - { - stmt.get_expr ()->accept_vis (*this); - } - - void visit (HIR::ExprStmtWithoutBlock &stmt) override + void visit (HIR::ExprStmt &stmt) override { stmt.get_expr ()->accept_vis (*this); } |