From ddc2de2676306174d150db4826e6215ba67db600 Mon Sep 17 00:00:00 2001 From: 2xsaiko Date: Mon, 8 Jun 2020 22:51:07 +0200 Subject: Fix crash on remapping >1 level of nested class (#262) --- .../enigma/bytecode/translators/TranslationSignatureVisitor.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/enigma/src/main/java/cuchaz/enigma/bytecode/translators/TranslationSignatureVisitor.java b/enigma/src/main/java/cuchaz/enigma/bytecode/translators/TranslationSignatureVisitor.java index bc4a2f00..6cab22c7 100644 --- a/enigma/src/main/java/cuchaz/enigma/bytecode/translators/TranslationSignatureVisitor.java +++ b/enigma/src/main/java/cuchaz/enigma/bytecode/translators/TranslationSignatureVisitor.java @@ -1,11 +1,12 @@ package cuchaz.enigma.bytecode.translators; -import cuchaz.enigma.Enigma; -import org.objectweb.asm.signature.SignatureVisitor; - import java.util.Stack; import java.util.function.Function; +import org.objectweb.asm.signature.SignatureVisitor; + +import cuchaz.enigma.Enigma; + public class TranslationSignatureVisitor extends SignatureVisitor { private final Function remapper; @@ -31,6 +32,7 @@ public class TranslationSignatureVisitor extends SignatureVisitor { if (!name.startsWith(lastClass+"$")){//todo see if there's a way to base this on whether there were type params or not name = lastClass+"$"+name; } + classStack.push(name); String translatedEntry = this.remapper.apply(name); if (translatedEntry.contains("/")){ translatedEntry = translatedEntry.substring(translatedEntry.lastIndexOf("/")+1); -- cgit v1.2.3