aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2022-04-22 10:31:50 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2022-04-22 12:31:58 +0200
commit7be856f7b6f39694f05c7c3453653046e48b3a52 (patch)
tree9b743bc86d812c9d7f0842e52daccf57eca45d64
parent77afec780ae6193a5e4d3895d3169b150e4b556d (diff)
downloadgcc-7be856f7b6f39694f05c7c3453653046e48b3a52.zip
gcc-7be856f7b6f39694f05c7c3453653046e48b3a52.tar.gz
gcc-7be856f7b6f39694f05c7c3453653046e48b3a52.tar.bz2
privacy: visibility: Add resolving for "private" items
-rw-r--r--gcc/rust/privacy/rust-visibility-resolver.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/rust/privacy/rust-visibility-resolver.cc b/gcc/rust/privacy/rust-visibility-resolver.cc
index 2ca3bd7..99f1367 100644
--- a/gcc/rust/privacy/rust-visibility-resolver.cc
+++ b/gcc/rust/privacy/rust-visibility-resolver.cc
@@ -47,7 +47,18 @@ bool
VisibilityResolver::resolve_visibility (const HIR::Visibility &visibility,
ModuleVisibility &to_resolve)
{
- return false;
+ switch (visibility.get_vis_type ())
+ {
+ case HIR::Visibility::PRIVATE:
+ to_resolve = ModuleVisibility::create_restricted (peek_module ());
+ return true;
+ case HIR::Visibility::PUBLIC:
+ // FIXME: We need to handle the restricted path here
+ to_resolve = ModuleVisibility::create_public ();
+ return true;
+ default:
+ return false;
+ }
}
DefId