diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-08-29 15:02:21 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 19:04:34 +0100 |
commit | 7167ed8d86cc103ea85c03849dcd76933edd7972 (patch) | |
tree | 5746493e0027cf0c8832034d02ee161e4bac85b1 | |
parent | 8a343bd46fb454a1f5dfb47fdb6cf5599ce070ba (diff) | |
download | gcc-7167ed8d86cc103ea85c03849dcd76933edd7972.zip gcc-7167ed8d86cc103ea85c03849dcd76933edd7972.tar.gz gcc-7167ed8d86cc103ea85c03849dcd76933edd7972.tar.bz2 |
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 <pierre-emmanuel.patry@embecosm.com>
-rw-r--r-- | gcc/rust/util/rust-hir-map.cc | 27 | ||||
-rw-r--r-- | 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 6acec3d..67d589c 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<CustomDeriveProcMacro &> +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<BangProcMacro &> +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<AttributeProcMacro &> +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 177bcba..85da280 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<CustomDeriveProcMacro &> + lookup_derive_proc_macro_def (NodeId id); + tl::optional<BangProcMacro &> lookup_bang_proc_macro_def (NodeId id); + tl::optional<AttributeProcMacro &> + lookup_attribute_proc_macro_def (NodeId id); tl::optional<CustomDeriveProcMacro &> lookup_derive_proc_macro_invocation (AST::SimplePath &invoc); |