Skip to content

Commit 71f2cd5

Browse files
committed
privacy: reachability: wip: Update all base reach levels
1 parent d36a3c5 commit 71f2cd5

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

gcc/rust/privacy/rust-reachability.cc

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ ReachabilityVisitor::visit_generic_predicates (
6969
void
7070
ReachabilityVisitor::visit (HIR::Module &mod)
7171
{
72+
auto reach = get_reachability_level (mod.get_visibility ());
73+
reach = ctx.update_reachability (mod.get_mappings (), reach);
74+
7275
for (auto &item : mod.get_items ())
7376
{
7477
// FIXME: Is that what we want to do? Yes? Only visit the items with
@@ -83,11 +86,17 @@ ReachabilityVisitor::visit (HIR::Module &mod)
8386

8487
void
8588
ReachabilityVisitor::visit (HIR::ExternCrate &crate)
86-
{}
89+
{
90+
auto reach = get_reachability_level (crate.get_visibility ());
91+
reach = ctx.update_reachability (crate.get_mappings (), reach);
92+
}
8793

8894
void
8995
ReachabilityVisitor::visit (HIR::UseDeclaration &use_decl)
90-
{}
96+
{
97+
auto reach = get_reachability_level (use_decl.get_visibility ());
98+
reach = ctx.update_reachability (use_decl.get_mappings (), reach);
99+
}
91100

92101
void
93102
ReachabilityVisitor::visit (HIR::Function &func)
@@ -155,11 +164,17 @@ ReachabilityVisitor::visit (HIR::Union &union_item)
155164

156165
void
157166
ReachabilityVisitor::visit (HIR::ConstantItem &const_item)
158-
{}
167+
{
168+
auto reach = get_reachability_level (const_item.get_visibility ());
169+
reach = ctx.update_reachability (const_item.get_mappings (), reach);
170+
}
159171

160172
void
161173
ReachabilityVisitor::visit (HIR::StaticItem &static_item)
162-
{}
174+
{
175+
auto reach = get_reachability_level (static_item.get_visibility ());
176+
reach = ctx.update_reachability (static_item.get_mappings (), reach);
177+
}
163178

164179
void
165180
ReachabilityVisitor::visit (HIR::Trait &trait)

0 commit comments

Comments
 (0)