aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/util/rust-hir-map.cc
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-07-16 14:57:55 +0000
committerGitHub <noreply@github.com>2021-07-16 14:57:55 +0000
commiteea221e39ead0f45e9ef91aaf1b5ed855a4a5d8b (patch)
treea0eb9997e6add34e1040f8454965cdb0f3db6410 /gcc/rust/util/rust-hir-map.cc
parentd57f3b8af1498c7bb4b1eaea372270119e9845fd (diff)
parent40ab687d56597abc6d2ead6dc4e5a051923aca45 (diff)
downloadgcc-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.cc24
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)
{