diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-08-29 15:02:21 +0200 |
---|---|---|
committer | P-E-P <32375388+P-E-P@users.noreply.github.com> | 2023-09-06 11:50:30 +0000 |
commit | 99276280aa1865bab5b1f9c950cddbed5f67f1fb (patch) | |
tree | 8ce746d0e6993d0fa50721fbb41756cf56dc9f2e | |
parent | 53ad5220c4e79618ca80681cbf59a6e2c7cde832 (diff) | |
download | gcc-99276280aa1865bab5b1f9c950cddbed5f67f1fb.zip gcc-99276280aa1865bab5b1f9c950cddbed5f67f1fb.tar.gz gcc-99276280aa1865bab5b1f9c950cddbed5f67f1fb.tar.bz2 |
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 03b5773..20b9d93 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 f1a8f70..3e6b93f 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); |