diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-07-16 14:57:55 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-16 14:57:55 +0000 |
commit | eea221e39ead0f45e9ef91aaf1b5ed855a4a5d8b (patch) | |
tree | a0eb9997e6add34e1040f8454965cdb0f3db6410 /gcc/rust/util/rust-hir-map.cc | |
parent | d57f3b8af1498c7bb4b1eaea372270119e9845fd (diff) | |
parent | 40ab687d56597abc6d2ead6dc4e5a051923aca45 (diff) | |
download | gcc-eea221e39ead0f45e9ef91aaf1b5ed855a4a5d8b.zip gcc-eea221e39ead0f45e9ef91aaf1b5ed855a4a5d8b.tar.gz gcc-eea221e39ead0f45e9ef91aaf1b5ed855a4a5d8b.tar.bz2 |
Merge #572
572: Cleanup and add const modifiers to equlity interface r=philberty a=philberty
As part of an effort to cleanup some of the interfaces within the TyTy module
this PR adds a const visitor for accessing each type and updates the can_eq
interface to also be const as it should not require mutability.
These changes fell out of a branch for optional trait items support.
Co-authored-by: Philip Herron <philip.herron@embecosm.com>
Diffstat (limited to 'gcc/rust/util/rust-hir-map.cc')
-rw-r--r-- | gcc/rust/util/rust-hir-map.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/rust/util/rust-hir-map.cc b/gcc/rust/util/rust-hir-map.cc index fb8070a..33ba8d0 100644 --- a/gcc/rust/util/rust-hir-map.cc +++ b/gcc/rust/util/rust-hir-map.cc @@ -260,6 +260,30 @@ Mappings::lookup_hir_item (CrateNum crateNum, HirId id) } void +Mappings::insert_hir_impl_block (CrateNum crateNum, HirId id, + HIR::ImplBlock *item) +{ + rust_assert (lookup_hir_impl_block (crateNum, id) == nullptr); + + hirImplBlockMappings[crateNum][id] = item; + nodeIdToHirMappings[crateNum][item->get_mappings ().get_nodeid ()] = id; +} + +HIR::ImplBlock * +Mappings::lookup_hir_impl_block (CrateNum crateNum, HirId id) +{ + auto it = hirImplBlockMappings.find (crateNum); + if (it == hirImplBlockMappings.end ()) + return nullptr; + + auto iy = it->second.find (id); + if (iy == it->second.end ()) + return nullptr; + + return iy->second; +} + +void Mappings::insert_hir_implitem (CrateNum crateNum, HirId id, HirId parent_impl_id, HIR::ImplItem *item) { |