summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/bytecode
diff options
context:
space:
mode:
authorGravatar gegy10002018-05-20 12:41:44 +0200
committerGravatar gegy10002018-05-20 12:41:44 +0200
commit2ea0c243fd3ceed585a514dd487ce04866c8aede (patch)
treec5354f4df9f2a796f3d3554c780c74a8f49437cd /src/main/java/cuchaz/enigma/bytecode
parentFix parameter name offset (diff)
downloadenigma-fork-2ea0c243fd3ceed585a514dd487ce04866c8aede.tar.gz
enigma-fork-2ea0c243fd3ceed585a514dd487ce04866c8aede.tar.xz
enigma-fork-2ea0c243fd3ceed585a514dd487ce04866c8aede.zip
Fix anonymous class generation
Diffstat (limited to 'src/main/java/cuchaz/enigma/bytecode')
-rw-r--r--src/main/java/cuchaz/enigma/bytecode/translators/TranslationClassVisitor.java6
-rw-r--r--src/main/java/cuchaz/enigma/bytecode/translators/TranslationMethodVisitor.java2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationClassVisitor.java b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationClassVisitor.java
index 25d523f..b0d17b3 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 09c106d..f3f7c48 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);