From 32290667217000d9008ba667ba801a25e9ec061f Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Thu, 21 Jun 2018 11:16:04 +0100 Subject: Recursively rebuild method names Before it was only doing the first level of inner classes, this works on "inner inner classes" --- src/main/java/cuchaz/enigma/Deobfuscator.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/main/java/cuchaz/enigma/Deobfuscator.java') diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java index 1e99af2..6ef020c 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java @@ -332,9 +332,6 @@ public class Deobfuscator { for (ClassMapping classMapping : Lists.newArrayList(getMappings().classes())) { progress.onProgress(i++, classMapping.getDeobfName()); rebuildMethodNames(classMapping, renameClassMap); - for(ClassMapping innerClass : classMapping.innerClasses()){ - rebuildMethodNames(innerClass, renameClassMap); - } } for (Map.Entry> renameClassMapEntry : renameClassMap.entrySet()) { @@ -386,7 +383,12 @@ public class Deobfuscator { } } + classMapping.markDirty(); renameClassMap.put(classMapping, renameEntries); + + for(ClassMapping innerClass : classMapping.innerClasses()){ + rebuildMethodNames(innerClass, renameClassMap); + } } -- cgit v1.2.3