From dbd881184fb4955b3ecd027b35b57258fd9f3480 Mon Sep 17 00:00:00 2001 From: gegy1000 Date: Thu, 21 Jun 2018 18:43:42 +0200 Subject: Fix issues with inner class signature transformation --- .../bytecode/translators/TranslationSignatureVisitor.java | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'src/main/java/cuchaz/enigma/bytecode') diff --git a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationSignatureVisitor.java b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationSignatureVisitor.java index 2bb80a8..928c6d1 100644 --- a/src/main/java/cuchaz/enigma/bytecode/translators/TranslationSignatureVisitor.java +++ b/src/main/java/cuchaz/enigma/bytecode/translators/TranslationSignatureVisitor.java @@ -3,14 +3,12 @@ package cuchaz.enigma.bytecode.translators; import org.objectweb.asm.Opcodes; import org.objectweb.asm.signature.SignatureVisitor; -import java.util.Stack; import java.util.function.Function; public class TranslationSignatureVisitor extends SignatureVisitor { private final Function remapper; private final SignatureVisitor sv; - private final Stack classes = new Stack<>(); public TranslationSignatureVisitor(Function remapper, SignatureVisitor sv) { super(Opcodes.ASM5); @@ -21,17 +19,13 @@ public class TranslationSignatureVisitor extends SignatureVisitor { @Override public void visitClassType(String name) { String translatedEntry = this.remapper.apply(name); - this.classes.push(name); this.sv.visitClassType(translatedEntry); } @Override public void visitInnerClassType(String name) { - String outerName = this.classes.pop(); - String className = outerName + "$" + name; - this.classes.push(className); - String translatedEntry = this.remapper.apply(className); - this.sv.visitInnerClassType(translatedEntry.substring(translatedEntry.lastIndexOf('$') + 1)); + String translatedEntry = this.remapper.apply(name); + this.sv.visitInnerClassType(translatedEntry); } @Override @@ -111,7 +105,6 @@ public class TranslationSignatureVisitor extends SignatureVisitor { @Override public void visitEnd() { this.sv.visitEnd(); - this.classes.pop(); } @Override -- cgit v1.2.3