summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/bytecode/ClassPublifier.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/bytecode/ClassPublifier.java')
-rw-r--r--src/main/java/cuchaz/enigma/bytecode/ClassPublifier.java60
1 files changed, 30 insertions, 30 deletions
diff --git a/src/main/java/cuchaz/enigma/bytecode/ClassPublifier.java b/src/main/java/cuchaz/enigma/bytecode/ClassPublifier.java
index 0aa7fac..d627fe9 100644
--- a/src/main/java/cuchaz/enigma/bytecode/ClassPublifier.java
+++ b/src/main/java/cuchaz/enigma/bytecode/ClassPublifier.java
@@ -8,6 +8,7 @@
8 * Contributors: 8 * Contributors:
9 * Jeff Martin - initial API and implementation 9 * Jeff Martin - initial API and implementation
10 ******************************************************************************/ 10 ******************************************************************************/
11
11package cuchaz.enigma.bytecode; 12package cuchaz.enigma.bytecode;
12 13
13import javassist.CtBehavior; 14import javassist.CtBehavior;
@@ -16,36 +17,35 @@ import javassist.CtField;
16import javassist.bytecode.AccessFlag; 17import javassist.bytecode.AccessFlag;
17import javassist.bytecode.InnerClassesAttribute; 18import javassist.bytecode.InnerClassesAttribute;
18 19
19
20public class ClassPublifier { 20public class ClassPublifier {
21 21
22 public static CtClass publify(CtClass c) { 22 public static CtClass publify(CtClass c) {
23 23
24 // publify all the fields 24 // publify all the fields
25 for (CtField field : c.getDeclaredFields()) { 25 for (CtField field : c.getDeclaredFields()) {
26 field.setModifiers(publify(field.getModifiers())); 26 field.setModifiers(publify(field.getModifiers()));
27 } 27 }
28 28
29 // publify all the methods and constructors 29 // publify all the methods and constructors
30 for (CtBehavior behavior : c.getDeclaredBehaviors()) { 30 for (CtBehavior behavior : c.getDeclaredBehaviors()) {
31 behavior.setModifiers(publify(behavior.getModifiers())); 31 behavior.setModifiers(publify(behavior.getModifiers()));
32 } 32 }
33 33
34 // publify all the inner classes 34 // publify all the inner classes
35 InnerClassesAttribute attr = (InnerClassesAttribute) c.getClassFile().getAttribute(InnerClassesAttribute.tag); 35 InnerClassesAttribute attr = (InnerClassesAttribute) c.getClassFile().getAttribute(InnerClassesAttribute.tag);
36 if (attr != null) { 36 if (attr != null) {
37 for (int i = 0; i < attr.tableLength(); i++) { 37 for (int i = 0; i < attr.tableLength(); i++) {
38 attr.setAccessFlags(i, publify(attr.accessFlags(i))); 38 attr.setAccessFlags(i, publify(attr.accessFlags(i)));
39 } 39 }
40 } 40 }
41 41
42 return c; 42 return c;
43 } 43 }
44 44
45 private static int publify(int flags) { 45 private static int publify(int flags) {
46 if (!AccessFlag.isPublic(flags)) { 46 if (!AccessFlag.isPublic(flags)) {
47 flags = AccessFlag.setPublic(flags); 47 flags = AccessFlag.setPublic(flags);
48 } 48 }
49 return flags; 49 return flags;
50 } 50 }
51} 51}