1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#[derive(Clone, Default, PartialEq, PartialOrd, Eq, Ord)]
pub struct TypeName {
    pub namespace: String,
    pub name: String,
}

impl TypeName {
    pub fn new(namespace: &str, name: &str) -> Self {
        Self { namespace: namespace.to_string(), name: name.to_string() }
    }

    pub fn system_value_type() -> Self {
        Self::new("System", "ValueType")
    }

    pub fn system_enum() -> Self {
        Self::new("System", "Enum")
    }

    pub fn system_delegate() -> Self {
        Self::new("System", "MulticastDelegate")
    }
}