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}