]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Make lowering of AssociatedItem instances polymorphic
authorOwen Avery <powerboat9.gamer@gmail.com>
Wed, 11 Oct 2023 19:02:38 +0000 (15:02 -0400)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 18:09:22 +0000 (19:09 +0100)
gcc/rust/ChangeLog:

* hir/rust-ast-lower-implitem.h
(ASTLoweringImplItem::translate): Take AssociatedItem as parameter.
(ASTLoweringTraitItem::translate): Likewise.

Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
gcc/rust/hir/rust-ast-lower-implitem.h

index 9aef2cb9306f425120513516b9590dec361167ee..91c947089646a8d9d66a743a2338b3c93a31a461 100644 (file)
@@ -32,31 +32,7 @@ class ASTLowerImplItem : public ASTLoweringBase
   using Rust::HIR::ASTLoweringBase::visit;
 
 public:
-  static HIR::ImplItem *translate (AST::InherentImplItem *item,
-                                  HirId parent_impl_id)
-  {
-    ASTLowerImplItem resolver;
-    item->accept_vis (resolver);
-
-    if (resolver.translated != nullptr)
-      {
-       rust_assert (resolver.item_cast != nullptr);
-
-       auto id = resolver.translated->get_impl_mappings ().get_hirid ();
-       auto defid = resolver.translated->get_impl_mappings ().get_defid ();
-       auto locus = resolver.translated->get_locus ();
-
-       resolver.handle_outer_attributes (*resolver.item_cast);
-       resolver.mappings->insert_hir_implitem (parent_impl_id,
-                                               resolver.translated);
-       resolver.mappings->insert_location (id, locus);
-       resolver.mappings->insert_defid_mapping (defid, resolver.item_cast);
-      }
-
-    return resolver.translated;
-  }
-
-  static HIR::ImplItem *translate (AST::TraitImplItem *item,
+  static HIR::ImplItem *translate (AST::AssociatedItem *item,
                                   HirId parent_impl_id)
   {
     ASTLowerImplItem resolver;
@@ -312,7 +288,7 @@ class ASTLowerTraitItem : public ASTLoweringBase
   using Rust::HIR::ASTLoweringBase::visit;
 
 public:
-  static HIR::TraitItem *translate (AST::TraitItem *item)
+  static HIR::TraitItem *translate (AST::AssociatedItem *item)
   {
     ASTLowerTraitItem resolver;
     item->accept_vis (resolver);