1use bitflags::bitflags;
2
3use serde::{Deserialize, Serialize};
4
5bitflags! {
6 #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
10 pub struct ClassAccessFlag: u16 {
11 const Public = 0x0001;
12 const Final = 0x0010;
13 const Super = 0x0020;
14 const Interface = 0x0200;
15 const Abstract = 0x0400;
16 const Synthetic = 0x1000;
17 const Annotation = 0x2000;
18 const Enum = 0x4000;
19 const Module = 0x8000;
20 }
21
22 #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
26 pub struct FieldAccessFlag: u16 {
27 const Public = 0x0001;
28 const Private = 0x0002;
29 const Protected = 0x0004;
30 const Static = 0x0008;
31 const Final = 0x0010;
32 const Volatile = 0x0040;
33 const Transient = 0x0080;
34 const Synthetic = 0x1000;
35 const Enum = 0x4000;
36 }
37
38 #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
42 pub struct MethodAccessFlag: u16 {
43 const Public = 0x0001;
44 const Private = 0x0002;
45 const Protected = 0x0004;
46 const Static = 0x0008;
47 const Final = 0x0010;
48 const Synchronized = 0x0020;
49 const Bridge = 0x0040;
50 const Varargs = 0x0080;
51 const Native = 0x0100;
52 const Abstract = 0x0400;
53 const Strict = 0x0800;
54 const Synthetic = 0x1000;
55 }
56
57 #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
61 pub struct NestedClassAccessFlag: u16 {
62 const Public = 0x0001;
63 const Private = 0x0002;
64 const Protected = 0x0004;
65 const Static = 0x0008;
66 const Final = 0x0010;
67 const Interface = 0x0200;
68 const Abstract = 0x0400;
69 const Synthetic = 0x1000;
70 const Annotation = 0x2000;
71 const Enum = 0x4000;
72 }
73
74 #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
78 pub struct ParameterAccessFlag: u16 {
79 const Final = 0x0010;
80 const Synthetic = 0x1000;
81 const Mandated = 0x8000;
82 }
83
84 #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
88 pub struct ModuleAccessFlag: u16 {
89 const Open = 0x0020;
90 const Synthetic = 0x1000;
91 const Mandated = 0x8000;
92 }
93
94 #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
98 pub struct RequiresAccessFlag: u16 {
99 const Transitive = 0x0020;
100 const StaticPhase = 0x0040;
101 const Synthetic = 0x1000;
102 const Mandated = 0x8000;
103 }
104
105 #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
109 pub struct ExportsAccessFlag: u16 {
110 const Synthetic = 0x1000;
111 const Mandated = 0x8000;
112 }
113
114 #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
118 pub struct OpensAccessFlag: u16 {
119 const Synthetic = 0x1000;
120 const Mandated = 0x8000;
121 }
122}