]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Remove regular visit code
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Thu, 5 Sep 2024 11:37:51 +0000 (13:37 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Wed, 19 Mar 2025 14:32:13 +0000 (15:32 +0100)
Regular visit code can be replaced with default visit functions.

gcc/rust/ChangeLog:

* resolve/rust-default-resolver.cc (DefaultResolver::visit): Remove
default visit code and replace it with call to default visitor.
* resolve/rust-default-resolver.h: Remove removed function's
prototypes.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
gcc/rust/resolve/rust-default-resolver.cc
gcc/rust/resolve/rust-default-resolver.h

index 5ecea06bc6e010eac97aa53e76efca9893d6f512..0261721679983aaa1658572a4b982710a86b4750 100644 (file)
@@ -170,17 +170,7 @@ DefaultResolver::visit (AST::ClosureExprInner &expr)
   if (expr.is_marked_for_strip ())
     return;
 
-  for (auto &param : expr.get_params ())
-    {
-      if (param.is_error ())
-       continue;
-
-      param.get_pattern ().accept_vis (*this);
-      if (param.has_type_given ())
-       param.get_type ().accept_vis (*this);
-    }
-
-  expr.get_definition_expr ().accept_vis (*this);
+  AST::DefaultASTVisitor::visit (expr);
 }
 
 void
@@ -189,63 +179,7 @@ DefaultResolver::visit (AST::ClosureExprInnerTyped &expr)
   if (expr.is_marked_for_strip ())
     return;
 
-  for (auto &param : expr.get_params ())
-    {
-      if (param.is_error ())
-       continue;
-
-      param.get_pattern ().accept_vis (*this);
-      if (param.has_type_given ())
-       param.get_type ().accept_vis (*this);
-    }
-
-  expr.get_definition_block ().accept_vis (*this);
-  expr.get_return_type ().accept_vis (*this);
-}
-
-void
-DefaultResolver::visit (AST::CallExpr &expr)
-{
-  expr.get_function_expr ().accept_vis (*this);
-
-  for (auto &param : expr.get_params ())
-    param->accept_vis (*this);
-}
-
-void
-DefaultResolver::visit (AST::MethodCallExpr &expr)
-{
-  expr.get_receiver_expr ().accept_vis (*this);
-
-  if (expr.get_method_name ().has_generic_args ())
-    {
-      auto &args = expr.get_method_name ().get_generic_args ();
-      for (auto &arg : args.get_generic_args ())
-       arg.accept_vis (*this);
-      for (auto &arg : args.get_binding_args ())
-       if (!arg.is_error ())
-         arg.get_type ().accept_vis (*this);
-      for (auto &arg : args.get_lifetime_args ())
-       arg.accept_vis (*this);
-    }
-
-  for (auto &param : expr.get_params ())
-    param->accept_vis (*this);
-}
-
-void
-DefaultResolver::visit (AST::IfExpr &expr)
-{
-  expr.get_condition_expr ().accept_vis (*this);
-  expr.get_if_block ().accept_vis (*this);
-}
-
-void
-DefaultResolver::visit (AST::IfExprConseqElse &expr)
-{
-  expr.get_condition_expr ().accept_vis (*this);
-  expr.get_if_block ().accept_vis (*this);
-  expr.get_else_block ().accept_vis (*this);
+  AST::DefaultASTVisitor::visit (expr);
 }
 
 void
@@ -254,53 +188,7 @@ DefaultResolver::visit (AST::MatchExpr &expr)
   if (expr.is_marked_for_strip ())
     return;
 
-  expr.get_scrutinee_expr ().accept_vis (*this);
-  for (auto &arm : expr.get_match_cases ())
-    {
-      arm.get_expr ().accept_vis (*this);
-      for (auto &pat : arm.get_arm ().get_patterns ())
-       pat->accept_vis (*this);
-      if (arm.get_arm ().has_match_arm_guard ())
-       arm.get_arm ().get_guard_expr ().accept_vis (*this);
-    }
-}
-
-void
-DefaultResolver::visit (AST::PathInExpression &expr)
-{
-  for (auto &seg : expr.get_segments ())
-    if (seg.has_generic_args ())
-      {
-       auto &args = seg.get_generic_args ();
-       for (auto &arg : args.get_generic_args ())
-         arg.accept_vis (*this);
-       for (auto &arg : args.get_binding_args ())
-         if (!arg.is_error ())
-           arg.get_type ().accept_vis (*this);
-       for (auto &arg : args.get_lifetime_args ())
-         arg.accept_vis (*this);
-      }
-}
-
-void
-DefaultResolver::visit (AST::EnumItemTuple &item)
-{
-  for (auto &field : item.get_tuple_fields ())
-    field.get_field_type ().accept_vis (*this);
-}
-
-void
-DefaultResolver::visit (AST::EnumItemStruct &item)
-{
-  for (auto &field : item.get_struct_fields ())
-    field.get_field_type ().accept_vis (*this);
-}
-
-void
-DefaultResolver::visit (AST::EnumItemDiscriminant &item)
-{
-  if (item.has_expr ())
-    item.get_expr ().accept_vis (*this);
+  AST::DefaultASTVisitor::visit (expr);
 }
 
 void
index 553afae77c0d6f2e3beb1fba8090a9fb0298dfc2..9fcddd158513538b10f326e41fb2b8f705eaaa1a 100644 (file)
@@ -57,17 +57,9 @@ public:
   // Visitors that visit their expression node(s)
   void visit (AST::ClosureExprInner &) override;
   void visit (AST::ClosureExprInnerTyped &) override;
-  void visit (AST::CallExpr &) override;
-  void visit (AST::MethodCallExpr &) override;
-  void visit (AST::IfExpr &) override;
-  void visit (AST::IfExprConseqElse &) override;
   void visit (AST::MatchExpr &) override;
 
   // Leaf visitors, which do nothing by default
-  void visit (AST::PathInExpression &) 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;