]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: mappings: Change mappings to allow other items as item containers.
authorArthur Cohen <arthur.cohen@embecosm.com>
Wed, 9 Jul 2025 13:50:01 +0000 (15:50 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 5 Aug 2025 14:36:57 +0000 (16:36 +0200)
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.

gcc/rust/util/rust-hir-map.cc
gcc/rust/util/rust-hir-map.h

index eaa640c06121e73a55532f3b625c8514e762f235..4629e6a570261fe971bbad29cbdc2bde6b31a52d 100644 (file)
@@ -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};
index b523a36eb0b42a7f215921a7310dd4cb30ca64f3..c8fafa4a35f099837d88885ac3ba91666f969d6a 100644 (file)
@@ -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;