https://gcc.gnu.org/g:b67f13468857c3d45a41ab70f4104599b62badcb

commit r16-2949-gb67f13468857c3d45a41ab70f4104599b62badcb
Author: Arthur Cohen <arthur.co...@embecosm.com>
Date:   Wed Jul 9 15:50:01 2025 +0200

    gccrs: mappings: Change mappings to allow other items as item containers.
    
    This is important for importing enum variants as items.
    
    gcc/rust/ChangeLog:
    
            * util/rust-hir-map.cc (Mappings::insert_ast_module): Rename to...
            (Mappings::insert_glob_container): ...this.
            (Mappings::lookup_ast_module): Rename to...
            (Mappings::lookup_glob_container): ...this.
            * util/rust-hir-map.h: Change declarations.

Diff:
---
 gcc/rust/util/rust-hir-map.cc | 16 +++++++++-------
 gcc/rust/util/rust-hir-map.h  |  6 +++---
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/gcc/rust/util/rust-hir-map.cc b/gcc/rust/util/rust-hir-map.cc
index eaa640c06121..4629e6a57026 100644
--- a/gcc/rust/util/rust-hir-map.cc
+++ b/gcc/rust/util/rust-hir-map.cc
@@ -1148,17 +1148,19 @@ Mappings::lookup_module_children (NodeId module)
 }
 
 void
-Mappings::insert_ast_module (AST::Module *module)
+Mappings::insert_glob_container (AST::Item *container)
 {
-  rust_assert (modules.find (module->get_node_id ()) == modules.end ());
-  modules[module->get_node_id ()] = module;
+  rust_assert (glob_containers.find (container->get_node_id ())
+              == glob_containers.end ());
+
+  glob_containers[container->get_node_id ()] = container;
 }
 
-tl::optional<AST::Module *>
-Mappings::lookup_ast_module (NodeId id)
+tl::optional<AST::Item *>
+Mappings::lookup_glob_container (NodeId id)
 {
-  auto it = modules.find (id);
-  if (it == modules.end ())
+  auto it = glob_containers.find (id);
+  if (it == glob_containers.end ())
     return tl::nullopt;
 
   return {it->second};
diff --git a/gcc/rust/util/rust-hir-map.h b/gcc/rust/util/rust-hir-map.h
index b523a36eb0b4..c8fafa4a35f0 100644
--- a/gcc/rust/util/rust-hir-map.h
+++ b/gcc/rust/util/rust-hir-map.h
@@ -321,8 +321,8 @@ public:
   void insert_visibility (NodeId id, Privacy::ModuleVisibility visibility);
   tl::optional<Privacy::ModuleVisibility &> lookup_visibility (NodeId id);
 
-  void insert_ast_module (AST::Module *);
-  tl::optional<AST::Module *> lookup_ast_module (NodeId id);
+  void insert_glob_container (AST::Item *);
+  tl::optional<AST::Item *> lookup_glob_container (NodeId id);
   void insert_module_child (NodeId module, NodeId child);
   tl::optional<std::vector<NodeId> &> lookup_module_children (NodeId module);
 
@@ -436,7 +436,7 @@ private:
   std::map<NodeId, std::vector<NodeId>> module_child_map;
   std::map<NodeId, std::vector<Resolver::CanonicalPath>> module_child_items;
   std::map<NodeId, NodeId> child_to_parent_module_map;
-  std::map<NodeId, AST::Module *> modules;
+  std::map<NodeId, AST::Item *> glob_containers;
 
   // AST mappings
   std::map<NodeId, AST::Item *> ast_item_mappings;

Reply via email to