diff options
| author | 2017-03-08 08:17:04 +0100 | |
|---|---|---|
| committer | 2017-03-08 08:17:04 +0100 | |
| commit | 6e464ea251cab63c776ece0b2a356f1498ffa294 (patch) | |
| tree | 5ed30c03f5ac4cd2d6877874f5ede576049954f7 /src/main/java/cuchaz/enigma/bytecode/ClassPublifier.java | |
| parent | Drop unix case style and implement hashCode when equals is overrided (diff) | |
| download | enigma-fork-6e464ea251cab63c776ece0b2a356f1498ffa294.tar.gz enigma-fork-6e464ea251cab63c776ece0b2a356f1498ffa294.tar.xz enigma-fork-6e464ea251cab63c776ece0b2a356f1498ffa294.zip | |
Follow Fabric guidelines
Diffstat (limited to 'src/main/java/cuchaz/enigma/bytecode/ClassPublifier.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/bytecode/ClassPublifier.java | 60 |
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 | |||
| 11 | package cuchaz.enigma.bytecode; | 12 | package cuchaz.enigma.bytecode; |
| 12 | 13 | ||
| 13 | import javassist.CtBehavior; | 14 | import javassist.CtBehavior; |
| @@ -16,36 +17,35 @@ import javassist.CtField; | |||
| 16 | import javassist.bytecode.AccessFlag; | 17 | import javassist.bytecode.AccessFlag; |
| 17 | import javassist.bytecode.InnerClassesAttribute; | 18 | import javassist.bytecode.InnerClassesAttribute; |
| 18 | 19 | ||
| 19 | |||
| 20 | public class ClassPublifier { | 20 | public 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 | } |