move_syn/vis.rs
1use crate::Item;
2
3/// Visibility options of a Move [`Item`].
4pub enum Visibility {
5 /// `public`
6 Public,
7 /// `public(package)`
8 Package,
9 /// No visibility modifier
10 Private,
11}
12
13impl Item {
14 pub const fn visibility(&self) -> Visibility {
15 let Some(vis) = &self.vis else {
16 return Visibility::Private;
17 };
18 if vis.modifier.is_some() {
19 Visibility::Package
20 } else {
21 Visibility::Public
22 }
23 }
24}