]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Change return type of resolve_nodeid_to_stmt
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Wed, 24 Apr 2024 21:21:57 +0000 (23:21 +0200)
committerP-E-P <32375388+P-E-P@users.noreply.github.com>
Fri, 17 May 2024 15:28:30 +0000 (15:28 +0000)
Change the return type to an optional.

gcc/rust/ChangeLog:

* util/rust-hir-map.cc (Mappings::resolve_nodeid_to_stmt): Change the
return type and remove pointer out argument.
* util/rust-hir-map.h: Update function prototype.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
gcc/rust/util/rust-hir-map.cc
gcc/rust/util/rust-hir-map.h

index 06f3e7ab7a0c58d3328c66ed6766009ef4a6a22c..6d9777136c9a037db9f704c15d9e306178eef6be 100644 (file)
@@ -805,17 +805,15 @@ Mappings::lookup_location (HirId id)
   return it->second;
 }
 
-bool
-Mappings::resolve_nodeid_to_stmt (NodeId id, HIR::Stmt **stmt)
+tl::optional<HIR::Stmt *>
+Mappings::resolve_nodeid_to_stmt (NodeId id)
 {
   auto it = nodeIdToHirMappings.find (id);
   if (it == nodeIdToHirMappings.end ())
-    return false;
+    return tl::nullopt;
 
   HirId resolved = it->second;
-  auto resolved_stmt = lookup_hir_stmt (resolved);
-  *stmt = resolved_stmt;
-  return resolved_stmt != nullptr;
+  return {lookup_hir_stmt (resolved)};
 }
 
 void
index 753b2e0eeaf1b7c07acf797453fc9b98b1db83aa..039ace51eb08e823bef0556cbd4d83ec0140b715 100644 (file)
@@ -176,7 +176,7 @@ public:
   void insert_location (HirId id, location_t locus);
   location_t lookup_location (HirId id);
 
-  bool resolve_nodeid_to_stmt (NodeId id, HIR::Stmt **stmt);
+  tl::optional<HIR::Stmt *> resolve_nodeid_to_stmt (NodeId id);
 
   std::set<HirId> &get_hirids_within_crate (CrateNum crate)
   {