rajac_types/
field_signature.rs1use crate::TypeId;
2use rajac_base::shared_string::SharedString;
3
4#[derive(Debug, Clone, Copy, PartialEq, Eq)]
6pub struct FieldModifiers(pub u32);
7
8impl FieldModifiers {
9 pub const PUBLIC: u32 = 0x0001;
11 pub const PRIVATE: u32 = 0x0002;
13 pub const PROTECTED: u32 = 0x0004;
15 pub const STATIC: u32 = 0x0008;
17 pub const FINAL: u32 = 0x0010;
19 pub const VOLATILE: u32 = 0x0040;
21 pub const TRANSIENT: u32 = 0x0080;
23}
24
25#[derive(Debug, Clone, PartialEq)]
27pub struct FieldSignature {
28 pub name: SharedString,
30 pub ty: TypeId,
32 pub modifiers: FieldModifiers,
34}
35
36impl FieldSignature {
37 pub fn new(name: SharedString, ty: TypeId, modifiers: FieldModifiers) -> Self {
38 Self {
39 name,
40 ty,
41 modifiers,
42 }
43 }
44}