summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/bytecode/AccessFlags.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/bytecode/AccessFlags.java')
-rw-r--r--src/main/java/cuchaz/enigma/bytecode/AccessFlags.java105
1 files changed, 0 insertions, 105 deletions
diff --git a/src/main/java/cuchaz/enigma/bytecode/AccessFlags.java b/src/main/java/cuchaz/enigma/bytecode/AccessFlags.java
deleted file mode 100644
index 31c8691..0000000
--- a/src/main/java/cuchaz/enigma/bytecode/AccessFlags.java
+++ /dev/null
@@ -1,105 +0,0 @@
1package cuchaz.enigma.bytecode;
2
3import cuchaz.enigma.analysis.Access;
4import org.objectweb.asm.Opcodes;
5
6import java.lang.reflect.Modifier;
7
8public class AccessFlags {
9 private int flags;
10
11 public AccessFlags(int flags) {
12 this.flags = flags;
13 }
14
15 public boolean isPrivate() {
16 return Modifier.isPrivate(this.flags);
17 }
18
19 public boolean isProtected() {
20 return Modifier.isProtected(this.flags);
21 }
22
23 public boolean isPublic() {
24 return Modifier.isPublic(this.flags);
25 }
26
27 public boolean isSynthetic() {
28 return (this.flags & Opcodes.ACC_SYNTHETIC) != 0;
29 }
30
31 public boolean isStatic() {
32 return Modifier.isStatic(this.flags);
33 }
34
35 public boolean isEnum() {
36 return (flags & Opcodes.ACC_ENUM) != 0;
37 }
38
39 public boolean isBridge() {
40 return (flags & Opcodes.ACC_BRIDGE) != 0;
41 }
42
43 public AccessFlags setPrivate() {
44 this.setVisibility(Opcodes.ACC_PRIVATE);
45 return this;
46 }
47
48 public AccessFlags setProtected() {
49 this.setVisibility(Opcodes.ACC_PROTECTED);
50 return this;
51 }
52
53 public AccessFlags setPublic() {
54 this.setVisibility(Opcodes.ACC_PUBLIC);
55 return this;
56 }
57
58 public AccessFlags setBridge() {
59 flags |= Opcodes.ACC_BRIDGE;
60 return this;
61 }
62
63 @Deprecated
64 public AccessFlags setBridged() {
65 return setBridge();
66 }
67
68 public void setVisibility(int visibility) {
69 this.resetVisibility();
70 this.flags |= visibility;
71 }
72
73 private void resetVisibility() {
74 this.flags &= ~(Opcodes.ACC_PRIVATE | Opcodes.ACC_PROTECTED | Opcodes.ACC_PUBLIC);
75 }
76
77 public int getFlags() {
78 return this.flags;
79 }
80
81 @Override
82 public boolean equals(Object obj) {
83 return obj instanceof AccessFlags && ((AccessFlags) obj).flags == flags;
84 }
85
86 @Override
87 public int hashCode() {
88 return flags;
89 }
90
91 @Override
92 public String toString() {
93 StringBuilder builder = new StringBuilder(Access.get(this).toString().toLowerCase());
94 if (isStatic()) {
95 builder.append(" static");
96 }
97 if (isSynthetic()) {
98 builder.append(" synthetic");
99 }
100 if (isBridge()) {
101 builder.append(" bridge");
102 }
103 return builder.toString();
104 }
105}