diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2023-04-08 01:37:56 -0400 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:28:46 +0100 |
commit | d93a1f032db86fe602566a6868b9bc5279554e71 (patch) | |
tree | 850ed40994e2db2023d72f4baf0e936e16a1f753 /gcc | |
parent | fb2c17fc1f2cfe29ef0fd90ae8d36141882fa95d (diff) | |
download | gcc-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')
-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 93cf21b..87251ea 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 0f14ab2..5c1dbdb 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 98cf17d..7b9e93d 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 1b75791..6ec4de7 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 50fcf73..e391642 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 0858545..524374d 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 eb1cc4e..8294f01 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 d311366..8725e78 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 ec0db39..4399581 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 6fb4467..4d30847 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 c283313..b46b5dd 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 e8530fd..17c7634 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 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); diff --git a/gcc/rust/typecheck/rust-hir-type-check-stmt.cc b/gcc/rust/typecheck/rust-hir-type-check-stmt.cc index b99e731..141dd75 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 a4663b6..1c38416 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 50b57f6..393533f6 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); } |