summaryrefslogtreecommitdiff
path: root/enigma/src/main/java/cuchaz
diff options
context:
space:
mode:
authorGravatar 2xsaiko2020-06-08 22:51:07 +0200
committerGravatar GitHub2020-06-08 16:51:07 -0400
commitddc2de2676306174d150db4826e6215ba67db600 (patch)
tree3d9e4e00ac4edf2df9a77963c3eab92496b3a79d /enigma/src/main/java/cuchaz
parentTop-level package option when generating stats (#264) (diff)
downloadenigma-fork-ddc2de2676306174d150db4826e6215ba67db600.tar.gz
enigma-fork-ddc2de2676306174d150db4826e6215ba67db600.tar.xz
enigma-fork-ddc2de2676306174d150db4826e6215ba67db600.zip
Fix crash on remapping >1 level of nested class (#262)
Diffstat (limited to 'enigma/src/main/java/cuchaz')
-rw-r--r--enigma/src/main/java/cuchaz/enigma/bytecode/translators/TranslationSignatureVisitor.java8
1 files 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 bc4a2f0..6cab22c 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 @@
1package cuchaz.enigma.bytecode.translators; 1package cuchaz.enigma.bytecode.translators;
2 2
3import cuchaz.enigma.Enigma;
4import org.objectweb.asm.signature.SignatureVisitor;
5
6import java.util.Stack; 3import java.util.Stack;
7import java.util.function.Function; 4import java.util.function.Function;
8 5
6import org.objectweb.asm.signature.SignatureVisitor;
7
8import cuchaz.enigma.Enigma;
9
9public class TranslationSignatureVisitor extends SignatureVisitor { 10public class TranslationSignatureVisitor extends SignatureVisitor {
10 private final Function<String, String> remapper; 11 private final Function<String, String> remapper;
11 12
@@ -31,6 +32,7 @@ public class TranslationSignatureVisitor extends SignatureVisitor {
31 if (!name.startsWith(lastClass+"$")){//todo see if there's a way to base this on whether there were type params or not 32 if (!name.startsWith(lastClass+"$")){//todo see if there's a way to base this on whether there were type params or not
32 name = lastClass+"$"+name; 33 name = lastClass+"$"+name;
33 } 34 }
35 classStack.push(name);
34 String translatedEntry = this.remapper.apply(name); 36 String translatedEntry = this.remapper.apply(name);
35 if (translatedEntry.contains("/")){ 37 if (translatedEntry.contains("/")){
36 translatedEntry = translatedEntry.substring(translatedEntry.lastIndexOf("/")+1); 38 translatedEntry = translatedEntry.substring(translatedEntry.lastIndexOf("/")+1);