aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2022-04-14 09:59:18 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2022-04-14 10:01:41 +0200
commit71f2cd57c6fed5d01c56858800bc17cb68a9ac38 (patch)
treeae8c2031db59d1829dff424be4e6b7ce0cba9681
parentd36a3c5752cbffab5bc107bb3cf7710442a29f9e (diff)
downloadgcc-71f2cd57c6fed5d01c56858800bc17cb68a9ac38.zip
gcc-71f2cd57c6fed5d01c56858800bc17cb68a9ac38.tar.gz
gcc-71f2cd57c6fed5d01c56858800bc17cb68a9ac38.tar.bz2
privacy: reachability: wip: Update all base reach levels
-rw-r--r--gcc/rust/privacy/rust-reachability.cc23
1 files changed, 19 insertions, 4 deletions
diff --git a/gcc/rust/privacy/rust-reachability.cc b/gcc/rust/privacy/rust-reachability.cc
index c5bfce1..826a465 100644
--- a/gcc/rust/privacy/rust-reachability.cc
+++ b/gcc/rust/privacy/rust-reachability.cc
@@ -69,6 +69,9 @@ ReachabilityVisitor::visit_generic_predicates (
void
ReachabilityVisitor::visit (HIR::Module &mod)
{
+ auto reach = get_reachability_level (mod.get_visibility ());
+ reach = ctx.update_reachability (mod.get_mappings (), reach);
+
for (auto &item : mod.get_items ())
{
// FIXME: Is that what we want to do? Yes? Only visit the items with
@@ -83,11 +86,17 @@ ReachabilityVisitor::visit (HIR::Module &mod)
void
ReachabilityVisitor::visit (HIR::ExternCrate &crate)
-{}
+{
+ auto reach = get_reachability_level (crate.get_visibility ());
+ reach = ctx.update_reachability (crate.get_mappings (), reach);
+}
void
ReachabilityVisitor::visit (HIR::UseDeclaration &use_decl)
-{}
+{
+ auto reach = get_reachability_level (use_decl.get_visibility ());
+ reach = ctx.update_reachability (use_decl.get_mappings (), reach);
+}
void
ReachabilityVisitor::visit (HIR::Function &func)
@@ -155,11 +164,17 @@ ReachabilityVisitor::visit (HIR::Union &union_item)
void
ReachabilityVisitor::visit (HIR::ConstantItem &const_item)
-{}
+{
+ auto reach = get_reachability_level (const_item.get_visibility ());
+ reach = ctx.update_reachability (const_item.get_mappings (), reach);
+}
void
ReachabilityVisitor::visit (HIR::StaticItem &static_item)
-{}
+{
+ auto reach = get_reachability_level (static_item.get_visibility ());
+ reach = ctx.update_reachability (static_item.get_mappings (), reach);
+}
void
ReachabilityVisitor::visit (HIR::Trait &trait)