diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/TranslatingTypeLoader.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java b/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java index ad1d244d..b3e5226e 100644 --- a/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java +++ b/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java | |||
| @@ -31,6 +31,7 @@ import cuchaz.enigma.bytecode.*; | |||
| 31 | import cuchaz.enigma.mapping.ClassEntry; | 31 | import cuchaz.enigma.mapping.ClassEntry; |
| 32 | import cuchaz.enigma.mapping.Translator; | 32 | import cuchaz.enigma.mapping.Translator; |
| 33 | import javassist.*; | 33 | import javassist.*; |
| 34 | import javassist.bytecode.AccessFlag; | ||
| 34 | import javassist.bytecode.Descriptor; | 35 | import javassist.bytecode.Descriptor; |
| 35 | 36 | ||
| 36 | public class TranslatingTypeLoader implements ITypeLoader { | 37 | public class TranslatingTypeLoader implements ITypeLoader { |
| @@ -201,10 +202,20 @@ public class TranslatingTypeLoader implements ITypeLoader { | |||
| 201 | new MethodParameterWriter(this.deobfuscatingTranslator).writeMethodArguments(c); | 202 | new MethodParameterWriter(this.deobfuscatingTranslator).writeMethodArguments(c); |
| 202 | new LocalVariableRenamer(this.deobfuscatingTranslator).rename(c); | 203 | new LocalVariableRenamer(this.deobfuscatingTranslator).rename(c); |
| 203 | new ClassTranslator(this.deobfuscatingTranslator).translate(c); | 204 | new ClassTranslator(this.deobfuscatingTranslator).translate(c); |
| 205 | markAllTheThingsPublicBecauseWeAreEvil(c); | ||
| 204 | 206 | ||
| 205 | return c; | 207 | return c; |
| 206 | } | 208 | } |
| 207 | 209 | ||
| 210 | @Deprecated | ||
| 211 | private void markAllTheThingsPublicBecauseWeAreEvil(CtClass ctClass) | ||
| 212 | { | ||
| 213 | for (CtField field : ctClass.getDeclaredFields()) | ||
| 214 | field.setModifiers(AccessFlag.setPublic(field.getModifiers())); | ||
| 215 | for (CtBehavior behavior : ctClass.getDeclaredBehaviors()) | ||
| 216 | behavior.setModifiers(AccessFlag.setPublic(behavior.getModifiers())); | ||
| 217 | } | ||
| 218 | |||
| 208 | private void assertClassName(CtClass c, ClassEntry obfClassEntry) { | 219 | private void assertClassName(CtClass c, ClassEntry obfClassEntry) { |
| 209 | String name1 = Descriptor.toJvmName(c.getName()); | 220 | String name1 = Descriptor.toJvmName(c.getName()); |
| 210 | assert (name1.equals(obfClassEntry.getName())) : String.format("Looking for %s, instead found %s", obfClassEntry.getName(), name1); | 221 | assert (name1.equals(obfClassEntry.getName())) : String.format("Looking for %s, instead found %s", obfClassEntry.getName(), name1); |