From 7167ed8d86cc103ea85c03849dcd76933edd7972 Mon Sep 17 00:00:00 2001 From: Pierre-Emmanuel Patry Date: Tue, 29 Aug 2023 15:02:21 +0200 Subject: [PATCH] gccrs: Change proc macro definition lookup to optionals Continue changing the api to use optionals instead of bools and double pointers. gcc/rust/ChangeLog: * util/rust-hir-map.cc (Mappings::lookup_derive_proc_macro_def): Update function to accomodate new signature. (Mappings::lookup_bang_proc_macro_def): Likewise. (Mappings::lookup_attribute_proc_macro_def): Likewise. * util/rust-hir-map.h: Update function signatures. Signed-off-by: Pierre-Emmanuel Patry --- gcc/rust/util/rust-hir-map.cc | 27 ++++++++++++--------------- gcc/rust/util/rust-hir-map.h | 8 +++++--- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/gcc/rust/util/rust-hir-map.cc b/gcc/rust/util/rust-hir-map.cc index 6acec3dbe133..67d589cc2475 100644 --- a/gcc/rust/util/rust-hir-map.cc +++ b/gcc/rust/util/rust-hir-map.cc @@ -1029,37 +1029,34 @@ Mappings::insert_attribute_proc_macro_def (NodeId id, AttributeProcMacro macro) procmacroAttributeMappings[id] = macro; } -bool -Mappings::lookup_derive_proc_macro_def (NodeId id, CustomDeriveProcMacro ¯o) +tl::optional +Mappings::lookup_derive_proc_macro_def (NodeId id) { auto it = procmacroDeriveMappings.find (id); if (it == procmacroDeriveMappings.end ()) - return false; + return tl::nullopt; - macro = it->second; - return true; + return it->second; } -bool -Mappings::lookup_bang_proc_macro_def (NodeId id, BangProcMacro ¯o) +tl::optional +Mappings::lookup_bang_proc_macro_def (NodeId id) { auto it = procmacroBangMappings.find (id); if (it == procmacroBangMappings.end ()) - return false; + return tl::nullopt; - macro = it->second; - return true; + return it->second; } -bool -Mappings::lookup_attribute_proc_macro_def (NodeId id, AttributeProcMacro ¯o) +tl::optional +Mappings::lookup_attribute_proc_macro_def (NodeId id) { auto it = procmacroAttributeMappings.find (id); if (it == procmacroAttributeMappings.end ()) - return false; + return tl::nullopt; - macro = it->second; - return true; + return it->second; } void diff --git a/gcc/rust/util/rust-hir-map.h b/gcc/rust/util/rust-hir-map.h index 177bcbacfc5e..85da28026407 100644 --- a/gcc/rust/util/rust-hir-map.h +++ b/gcc/rust/util/rust-hir-map.h @@ -306,9 +306,11 @@ public: void insert_bang_proc_macro_def (NodeId id, BangProcMacro macro); void insert_attribute_proc_macro_def (NodeId id, AttributeProcMacro macro); - bool lookup_derive_proc_macro_def (NodeId id, CustomDeriveProcMacro ¯o); - bool lookup_bang_proc_macro_def (NodeId id, BangProcMacro ¯o); - bool lookup_attribute_proc_macro_def (NodeId id, AttributeProcMacro ¯o); + tl::optional + lookup_derive_proc_macro_def (NodeId id); + tl::optional lookup_bang_proc_macro_def (NodeId id); + tl::optional + lookup_attribute_proc_macro_def (NodeId id); tl::optional lookup_derive_proc_macro_invocation (AST::SimplePath &invoc); -- 2.47.2