aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2022-04-21 16:16:46 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2022-04-22 12:23:21 +0200
commitca59275cc9f2d8e1fe59c684d48b9dbae1e30376 (patch)
treeec7d56f540bdbf5a5259da0483616db68a688ded /gcc/rust
parente70aa7f26212dfdd55c6c3988ba7263da61fea6e (diff)
downloadgcc-ca59275cc9f2d8e1fe59c684d48b9dbae1e30376.zip
gcc-ca59275cc9f2d8e1fe59c684d48b9dbae1e30376.tar.gz
gcc-ca59275cc9f2d8e1fe59c684d48b9dbae1e30376.tar.bz2
privacy: Add base for visibility map of DefIds
Diffstat (limited to 'gcc/rust')
-rw-r--r--gcc/rust/util/rust-hir-map.cc17
-rw-r--r--gcc/rust/util/rust-hir-map.h3
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/rust/util/rust-hir-map.cc b/gcc/rust/util/rust-hir-map.cc
index b08258c..ac1cf70 100644
--- a/gcc/rust/util/rust-hir-map.cc
+++ b/gcc/rust/util/rust-hir-map.cc
@@ -781,5 +781,22 @@ Mappings::lookup_macro_def (NodeId id, AST::MacroRulesDefinition **def)
return true;
}
+void
+Mappings::insert_visibility (DefId id, Privacy::ModuleVisibility visibility)
+{
+ visibility_map.insert ({id, visibility});
+}
+
+bool
+Mappings::lookup_visibility (DefId id, Privacy::ModuleVisibility *def)
+{
+ auto it = visibility_map.find (id);
+ if (it == visibility_map.end ())
+ return false;
+
+ *def = it->second;
+ return true;
+}
+
} // namespace Analysis
} // namespace Rust
diff --git a/gcc/rust/util/rust-hir-map.h b/gcc/rust/util/rust-hir-map.h
index 600acc0..74fabdf 100644
--- a/gcc/rust/util/rust-hir-map.h
+++ b/gcc/rust/util/rust-hir-map.h
@@ -296,6 +296,9 @@ public:
bool lookup_macro_def (NodeId id, AST::MacroRulesDefinition **def);
+ void insert_visibility (DefId id, Privacy::ModuleVisibility visibility);
+ bool lookup_visibility (DefId id, Privacy::ModuleVisibility *def);
+
private:
Mappings ();