emmylua_parser/kind/
lua_visibility_kind.rs

1#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash)]
2pub enum VisibilityKind {
3    None,
4    Public,
5    Protected,
6    Private,
7    Internal,
8    Package,
9}
10
11impl VisibilityKind {
12    #[allow(unused)]
13    pub fn to_visibility_kind(visibility: &str) -> VisibilityKind {
14        match visibility {
15            "public" => VisibilityKind::Public,
16            "protected" => VisibilityKind::Protected,
17            "private" => VisibilityKind::Private,
18            "internal" => VisibilityKind::Internal,
19            "package" => VisibilityKind::Package,
20            _ => VisibilityKind::None,
21        }
22    }
23
24    #[allow(unused)]
25    pub fn to_str(&self) -> Option<&'static str> {
26        match self {
27            VisibilityKind::None => None,
28            VisibilityKind::Public => Some("public"),
29            VisibilityKind::Protected => Some("protected"),
30            VisibilityKind::Private => Some("private"),
31            VisibilityKind::Internal => Some("internal"),
32            VisibilityKind::Package => Some("package"),
33        }
34    }
35}