https://gcc.gnu.org/g:38c5f0567f7cd69acb13b1fc9f97688e4ae13caf
commit r15-8402-g38c5f0567f7cd69acb13b1fc9f97688e4ae13caf Author: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> Date: Thu Sep 5 13:23:52 2024 +0200 gccrs: Remove empty visit functions We can let the default visitor visit those nodes anyway so we're sure all nodes can be reached. gcc/rust/ChangeLog: * resolve/rust-default-resolver.cc (DefaultResolver::visit): Remove empty visit function implementations. * resolve/rust-default-resolver.h: Remove corresponding prototypes. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> Diff: --- gcc/rust/resolve/rust-default-resolver.cc | 268 ------------------------------ gcc/rust/resolve/rust-default-resolver.h | 69 +------- 2 files changed, 1 insertion(+), 336 deletions(-) diff --git a/gcc/rust/resolve/rust-default-resolver.cc b/gcc/rust/resolve/rust-default-resolver.cc index b2cdc5f52d2a..5ecea06bc6e0 100644 --- a/gcc/rust/resolve/rust-default-resolver.cc +++ b/gcc/rust/resolve/rust-default-resolver.cc @@ -164,14 +164,6 @@ DefaultResolver::visit (AST::Enum &type) variant_fn, type.get_identifier ()); } -void -DefaultResolver::visit (AST::StructExprFieldIdentifierValue &) -{} - -void -DefaultResolver::visit (AST::StructExprFieldIndexValue &) -{} - void DefaultResolver::visit (AST::ClosureExprInner &expr) { @@ -211,34 +203,6 @@ DefaultResolver::visit (AST::ClosureExprInnerTyped &expr) expr.get_return_type ().accept_vis (*this); } -void -DefaultResolver::visit (AST::ContinueExpr &expr) -{} - -void -DefaultResolver::visit (AST::RangeFromToExpr &expr) -{} - -void -DefaultResolver::visit (AST::RangeFromExpr &expr) -{} - -void -DefaultResolver::visit (AST::RangeToExpr &expr) -{} - -void -DefaultResolver::visit (AST::RangeFromToInclExpr &expr) -{} - -void -DefaultResolver::visit (AST::RangeToInclExpr &expr) -{} - -void -DefaultResolver::visit (AST::ReturnExpr &expr) -{} - void DefaultResolver::visit (AST::CallExpr &expr) { @@ -269,18 +233,6 @@ DefaultResolver::visit (AST::MethodCallExpr &expr) param->accept_vis (*this); } -void -DefaultResolver::visit (AST::LoopExpr &expr) -{} - -void -DefaultResolver::visit (AST::WhileLoopExpr &expr) -{} - -void -DefaultResolver::visit (AST::WhileLetLoopExpr &expr) -{} - void DefaultResolver::visit (AST::IfExpr &expr) { @@ -296,14 +248,6 @@ DefaultResolver::visit (AST::IfExprConseqElse &expr) expr.get_else_block ().accept_vis (*this); } -void -DefaultResolver::visit (AST::IfLetExpr &expr) -{} - -void -DefaultResolver::visit (AST::IfLetExprConseqElse &) -{} - void DefaultResolver::visit (AST::MatchExpr &expr) { @@ -321,34 +265,6 @@ DefaultResolver::visit (AST::MatchExpr &expr) } } -void -DefaultResolver::visit (AST::AwaitExpr &expr) -{} - -void -DefaultResolver::visit (AST::AsyncBlockExpr &expr) -{} - -void -DefaultResolver::visit (AST::DelimTokenTree &) -{} - -void -DefaultResolver::visit (AST::AttrInputMetaItemContainer &) -{} - -void -DefaultResolver::visit (AST::IdentifierExpr &expr) -{} - -void -DefaultResolver::visit (AST::LifetimeParam &) -{} - -void -DefaultResolver::visit (AST::ConstGenericParam &) -{} - void DefaultResolver::visit (AST::PathInExpression &expr) { @@ -366,98 +282,6 @@ DefaultResolver::visit (AST::PathInExpression &expr) } } -void -DefaultResolver::visit (AST::TypePathSegmentGeneric &) -{} - -void -DefaultResolver::visit (AST::TypePathSegmentFunction &) -{} - -void -DefaultResolver::visit (AST::TypePath &) -{} - -void -DefaultResolver::visit (AST::QualifiedPathInExpression &) -{} - -void -DefaultResolver::visit (AST::QualifiedPathInType &) -{} - -void -DefaultResolver::visit (AST::LiteralExpr &expr) -{} - -void -DefaultResolver::visit (AST::AttrInputLiteral &) -{} - -void -DefaultResolver::visit (AST::AttrInputMacro &) -{} - -void -DefaultResolver::visit (AST::MetaItemLitExpr &expr) -{} - -void -DefaultResolver::visit (AST::MetaItemPathLit &) -{} - -void -DefaultResolver::visit (AST::StructExprStruct &) -{} - -void -DefaultResolver::visit (AST::StructExprStructFields &) -{} - -void -DefaultResolver::visit (AST::StructExprStructBase &) -{} - -void -DefaultResolver::visit (AST::TypeParam &) -{} - -void -DefaultResolver::visit (AST::LifetimeWhereClauseItem &) -{} - -void -DefaultResolver::visit (AST::TypeBoundWhereClauseItem &) -{} - -void -DefaultResolver::visit (AST::ExternCrate &) -{} - -void -DefaultResolver::visit (AST::UseTreeGlob &) -{} - -void -DefaultResolver::visit (AST::UseTreeList &) -{} - -void -DefaultResolver::visit (AST::UseTreeRebind &) -{} - -void -DefaultResolver::visit (AST::UseDeclaration &) -{} - -void -DefaultResolver::visit (AST::TypeAlias &) -{} - -void -DefaultResolver::visit (AST::EnumItem &) -{} - void DefaultResolver::visit (AST::EnumItemTuple &item) { @@ -503,97 +327,5 @@ DefaultResolver::visit (AST::StaticItem &item) ctx.scoped (Rib::Kind::ConstantItem, item.get_node_id (), expr_vis); } -void -DefaultResolver::visit (AST::TraitItemConst &) -{} - -void -DefaultResolver::visit (AST::TraitItemType &) -{} - -void -DefaultResolver::visit (AST::ExternalTypeItem &) -{} - -void -DefaultResolver::visit (AST::ExternalStaticItem &) -{} - -void -DefaultResolver::visit (AST::MacroMatchRepetition &) -{} - -void -DefaultResolver::visit (AST::MacroMatcher &) -{} - -void -DefaultResolver::visit (AST::MacroRulesDefinition &) -{} - -void -DefaultResolver::visit (AST::MacroInvocation &) -{} - -void -DefaultResolver::visit (AST::MetaItemPath &) -{} - -void -DefaultResolver::visit (AST::MetaItemSeq &) -{} - -void -DefaultResolver::visit (AST::MetaListPaths &) -{} - -void -DefaultResolver::visit (AST::MetaListNameValueStr &) -{} - -void -DefaultResolver::visit (AST::AltPattern &) -{} - -void -DefaultResolver::visit (AST::EmptyStmt &) -{} - -void -DefaultResolver::visit (AST::TraitBound &) -{} - -void -DefaultResolver::visit (AST::ImplTraitType &) -{} - -void -DefaultResolver::visit (AST::TraitObjectType &) -{} - -void -DefaultResolver::visit (AST::ImplTraitTypeOneBound &) -{} - -void -DefaultResolver::visit (AST::TraitObjectTypeOneBound &) -{} - -void -DefaultResolver::visit (AST::BareFunctionType &) -{} - -void -DefaultResolver::visit (AST::SelfParam &) -{} - -void -DefaultResolver::visit (AST::FunctionParam &) -{} - -void -DefaultResolver::visit (AST::VariadicParam &) -{} - } // namespace Resolver2_0 } // namespace Rust diff --git a/gcc/rust/resolve/rust-default-resolver.h b/gcc/rust/resolve/rust-default-resolver.h index fd1f7bec20e4..553afae77c0d 100644 --- a/gcc/rust/resolve/rust-default-resolver.h +++ b/gcc/rust/resolve/rust-default-resolver.h @@ -45,7 +45,7 @@ public: void visit (AST::BlockExpr &) override; void visit (AST::Module &) override; void visit (AST::Function &) override; - void visit (AST::ForLoopExpr &) override; + void visit (AST::ForLoopExpr &expr) override; void visit (AST::Trait &) override; void visit (AST::InherentImpl &) override; void visit (AST::TraitImpl &) override; @@ -55,88 +55,21 @@ public: void visit (AST::Enum &) override; // Visitors that visit their expression node(s) - void visit (AST::StructExprFieldIdentifierValue &) override; - void visit (AST::StructExprFieldIndexValue &) override; void visit (AST::ClosureExprInner &) override; void visit (AST::ClosureExprInnerTyped &) override; - void visit (AST::ContinueExpr &) override; - void visit (AST::RangeFromToExpr &) override; - void visit (AST::RangeFromExpr &) override; - void visit (AST::RangeToExpr &) override; - void visit (AST::RangeFromToInclExpr &) override; - void visit (AST::RangeToInclExpr &) override; - void visit (AST::ReturnExpr &) override; void visit (AST::CallExpr &) override; void visit (AST::MethodCallExpr &) override; - void visit (AST::LoopExpr &) override; - void visit (AST::WhileLoopExpr &) override; - void visit (AST::WhileLetLoopExpr &) override; void visit (AST::IfExpr &) override; void visit (AST::IfExprConseqElse &) override; - void visit (AST::IfLetExpr &) override; - void visit (AST::IfLetExprConseqElse &) override; void visit (AST::MatchExpr &) override; - void visit (AST::AwaitExpr &) override; - void visit (AST::AsyncBlockExpr &) override; // Leaf visitors, which do nothing by default - void visit (AST::DelimTokenTree &) override; - void visit (AST::AttrInputMetaItemContainer &) override; - void visit (AST::IdentifierExpr &) override; - void visit (AST::LifetimeParam &) override; - void visit (AST::ConstGenericParam &) override; void visit (AST::PathInExpression &) override; - void visit (AST::TypePathSegmentGeneric &) override; - void visit (AST::TypePathSegmentFunction &) override; - void visit (AST::TypePath &) override; - void visit (AST::QualifiedPathInExpression &) override; - void visit (AST::QualifiedPathInType &) override; - void visit (AST::LiteralExpr &) override; - void visit (AST::AttrInputLiteral &) override; - void visit (AST::AttrInputMacro &) override; - void visit (AST::MetaItemLitExpr &) override; - void visit (AST::MetaItemPathLit &) override; - void visit (AST::StructExprStruct &) override; - void visit (AST::StructExprStructFields &) override; - void visit (AST::StructExprStructBase &) override; - void visit (AST::TypeParam &) override; - void visit (AST::LifetimeWhereClauseItem &) override; - void visit (AST::TypeBoundWhereClauseItem &) override; - void visit (AST::ExternCrate &) override; - void visit (AST::UseTreeGlob &) override; - void visit (AST::UseTreeList &) override; - void visit (AST::UseTreeRebind &) override; - void visit (AST::UseDeclaration &) override; - void visit (AST::TypeAlias &) override; - void visit (AST::EnumItem &) override; void visit (AST::EnumItemTuple &) override; void visit (AST::EnumItemStruct &) override; void visit (AST::EnumItemDiscriminant &) override; void visit (AST::ConstantItem &) override; void visit (AST::StaticItem &) override; - void visit (AST::TraitItemConst &) override; - void visit (AST::TraitItemType &) override; - void visit (AST::ExternalTypeItem &) override; - void visit (AST::ExternalStaticItem &) override; - void visit (AST::MacroMatchRepetition &) override; - void visit (AST::MacroMatcher &) override; - void visit (AST::MacroRulesDefinition &) override; - void visit (AST::MacroInvocation &) override; - void visit (AST::MetaItemPath &) override; - void visit (AST::MetaItemSeq &) override; - void visit (AST::MetaListPaths &) override; - void visit (AST::MetaListNameValueStr &) override; - void visit (AST::AltPattern &) override; - void visit (AST::EmptyStmt &) override; - void visit (AST::TraitBound &) override; - void visit (AST::ImplTraitType &) override; - void visit (AST::TraitObjectType &) override; - void visit (AST::ImplTraitTypeOneBound &) override; - void visit (AST::TraitObjectTypeOneBound &) override; - void visit (AST::BareFunctionType &) override; - void visit (AST::FunctionParam &) override; - void visit (AST::VariadicParam &) override; - void visit (AST::SelfParam &) override; protected: DefaultResolver (NameResolutionContext &ctx) : ctx (ctx) {}