diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2022-04-14 09:59:18 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2022-04-14 10:01:41 +0200 |
commit | 71f2cd57c6fed5d01c56858800bc17cb68a9ac38 (patch) | |
tree | ae8c2031db59d1829dff424be4e6b7ce0cba9681 | |
parent | d36a3c5752cbffab5bc107bb3cf7710442a29f9e (diff) | |
download | gcc-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.cc | 23 |
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) |