diff options
Diffstat (limited to 'src/main')
3 files changed, 6 insertions, 4 deletions
diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java index cb03d45b..cf5d0617 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java | |||
| @@ -284,7 +284,7 @@ public class Deobfuscator { | |||
| 284 | // write the file | 284 | // write the file |
| 285 | File file = new File(dirOut, deobfClassEntry.getName().replace('.', '/') + ".java"); | 285 | File file = new File(dirOut, deobfClassEntry.getName().replace('.', '/') + ".java"); |
| 286 | file.getParentFile().mkdirs(); | 286 | file.getParentFile().mkdirs(); |
| 287 | try (OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(file), Charsets.UTF_8)) { | 287 | try (OutputStreamWriter out = new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(file)), Charsets.UTF_8)) { |
| 288 | out.write(source); | 288 | out.write(source); |
| 289 | } | 289 | } |
| 290 | } catch (Throwable t) { | 290 | } catch (Throwable t) { |
diff --git a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationClassVisitor.java b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationClassVisitor.java index 25d523fc..b0d17b3e 100644 --- a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationClassVisitor.java +++ b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationClassVisitor.java | |||
| @@ -80,7 +80,11 @@ public class TranslationClassVisitor extends ClassVisitor { | |||
| 80 | String childName = translatedName.substring(separatorIndex + 1); | 80 | String childName = translatedName.substring(separatorIndex + 1); |
| 81 | 81 | ||
| 82 | ClassEntry outerEntry = translator.getTranslatedClass(entryPool.getClass(parentName)); | 82 | ClassEntry outerEntry = translator.getTranslatedClass(entryPool.getClass(parentName)); |
| 83 | super.visitInnerClass(translatedName, outerEntry.getName(), childName, translatedEntry.getAccess().getFlags()); | 83 | |
| 84 | // Anonymous classes do not specify an outer or inner name. As we do not translate from the given parameter, ignore if the input is null | ||
| 85 | String translatedOuterName = outerName != null ? outerEntry.getName() : null; | ||
| 86 | String translatedInnerName = innerName != null ? childName : null; | ||
| 87 | super.visitInnerClass(translatedName, translatedOuterName, translatedInnerName, translatedEntry.getAccess().getFlags()); | ||
| 84 | } | 88 | } |
| 85 | 89 | ||
| 86 | @Override | 90 | @Override |
diff --git a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java index 09c106d2..f3f7c486 100644 --- a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java +++ b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java | |||
| @@ -108,8 +108,6 @@ public class TranslationMethodVisitor extends MethodVisitor { | |||
| 108 | nameBuilder.append(nameIndex); | 108 | nameBuilder.append(nameIndex); |
| 109 | } | 109 | } |
| 110 | translatedName = nameBuilder.toString(); | 110 | translatedName = nameBuilder.toString(); |
| 111 | } else { | ||
| 112 | System.out.println(); | ||
| 113 | } | 111 | } |
| 114 | 112 | ||
| 115 | super.visitLocalVariable(translatedName, translatedEntry.getDesc().toString(), translatedSignature, start, end, index); | 113 | super.visitLocalVariable(translatedName, translatedEntry.getDesc().toString(), translatedSignature, start, end, index); |