Wrap the function's return type within an optional to differentiate
between a null ppointer and a missing value.
gcc/rust/ChangeLog:
* util/rust-hir-map.cc (Mappings::insert_hir_param): Change call site
to accomodate new return type.
(Mappings::lookup_hir_param): Change the function's return type.
* util/rust-hir-map.h: Updat ethe function's prototype.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Mappings::insert_hir_param (HIR::FunctionParam *param)
{
auto id = param->get_mappings ().get_hirid ();
- rust_assert (lookup_hir_param (id) == nullptr);
+ rust_assert (!lookup_hir_param (id));
hirParamMappings[id] = param;
insert_node_to_hir (param->get_mappings ().get_nodeid (), id);
}
-HIR::FunctionParam *
+tl::optional<HIR::FunctionParam *>
Mappings::lookup_hir_param (HirId id)
{
auto it = hirParamMappings.find (id);
if (it == hirParamMappings.end ())
- return nullptr;
+ return tl::nullopt;
return it->second;
}
tl::optional<HIR::Stmt *> lookup_hir_stmt (HirId id);
void insert_hir_param (HIR::FunctionParam *type);
- HIR::FunctionParam *lookup_hir_param (HirId id);
+ tl::optional<HIR::FunctionParam *> lookup_hir_param (HirId id);
void insert_hir_self_param (HIR::SelfParam *type);
HIR::SelfParam *lookup_hir_self_param (HirId id);