From 7ec433f1ecc5b44f8b690c7443d5e38ac0e6422d Mon Sep 17 00:00:00 2001 From: gegy1000 Date: Fri, 22 Jun 2018 22:29:41 +0200 Subject: Resolve all failed tests --- src/main/java/cuchaz/enigma/Deobfuscator.java | 16 +++++++--------- src/main/java/cuchaz/enigma/analysis/JarIndex.java | 3 +-- .../java/cuchaz/enigma/analysis/TranslationIndex.java | 2 +- src/main/java/cuchaz/enigma/gui/GuiController.java | 2 +- src/test/java/cuchaz/enigma/TestDeobfed.java | 6 +++--- src/test/java/cuchaz/enigma/TestInnerClasses.java | 4 ++-- 6 files changed, 15 insertions(+), 18 deletions(-) diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java index 6bbfd072..bdd8873f 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java @@ -46,7 +46,6 @@ import java.util.jar.JarOutputStream; public class Deobfuscator { private final ReferencedEntryPool entryPool = new ReferencedEntryPool(); - private final JarFile jar; private final ParsedJar parsedJar; private final DecompilerSettings settings; private final JarIndex jarIndex; @@ -54,9 +53,8 @@ public class Deobfuscator { private final Map translatorCache; private Mappings mappings; - public Deobfuscator(JarFile jar) throws IOException { - this.jar = jar; - this.parsedJar = new ParsedJar(jar); + public Deobfuscator(ParsedJar jar) { + this.parsedJar = jar; // build the jar index this.jarIndex = new JarIndex(entryPool); @@ -79,12 +77,12 @@ public class Deobfuscator { setMappings(new Mappings()); } - public ParsedJar getJar() { - return this.parsedJar; + public Deobfuscator(JarFile jar) throws IOException { + this(new ParsedJar(jar)); } - public String getJarName() { - return this.jar.getName(); + public ParsedJar getJar() { + return this.parsedJar; } public JarIndex getJarIndex() { @@ -388,7 +386,7 @@ public class Deobfuscator { classMapping.markDirty(); renameClassMap.put(classMapping, renameEntries); - for(ClassMapping innerClass : classMapping.innerClasses()){ + for (ClassMapping innerClass : classMapping.innerClasses()) { rebuildMethodNames(innerClass, renameClassMap); } } diff --git a/src/main/java/cuchaz/enigma/analysis/JarIndex.java b/src/main/java/cuchaz/enigma/analysis/JarIndex.java index 87e6e886..8172deaa 100644 --- a/src/main/java/cuchaz/enigma/analysis/JarIndex.java +++ b/src/main/java/cuchaz/enigma/analysis/JarIndex.java @@ -148,8 +148,7 @@ public class JarIndex { public void indexInnerClass(ClassEntry innerEntry, ClassEntry outerEntry) { this.innerClassesByOuter.put(outerEntry, innerEntry); - boolean innerWasAdded = this.outerClassesByInner.put(innerEntry, outerEntry) == null; - assert (innerWasAdded); + this.outerClassesByInner.putIfAbsent(innerEntry, outerEntry); } private MethodEntry findBridgedMethod(MethodDefEntry method) { diff --git a/src/main/java/cuchaz/enigma/analysis/TranslationIndex.java b/src/main/java/cuchaz/enigma/analysis/TranslationIndex.java index 644a3f2b..b2ddc5fa 100644 --- a/src/main/java/cuchaz/enigma/analysis/TranslationIndex.java +++ b/src/main/java/cuchaz/enigma/analysis/TranslationIndex.java @@ -84,7 +84,7 @@ public class TranslationIndex { // add the superclass ClassEntry superclassEntry = entryPool.getClass(superName); - if (!isJre(superclassEntry)) { + if (superclassEntry != null) { this.superclasses.put(classEntry, superclassEntry); } diff --git a/src/main/java/cuchaz/enigma/gui/GuiController.java b/src/main/java/cuchaz/enigma/gui/GuiController.java index 837cff20..ae1b6528 100644 --- a/src/main/java/cuchaz/enigma/gui/GuiController.java +++ b/src/main/java/cuchaz/enigma/gui/GuiController.java @@ -58,7 +58,7 @@ public class GuiController { public void openJar(final JarFile jar) throws IOException { this.gui.onStartOpenJar(); this.deobfuscator = new Deobfuscator(jar); - this.gui.onFinishOpenJar(this.deobfuscator.getJarName()); + this.gui.onFinishOpenJar(jar.getName()); refreshClasses(); } diff --git a/src/test/java/cuchaz/enigma/TestDeobfed.java b/src/test/java/cuchaz/enigma/TestDeobfed.java index 744f954d..9babf1e3 100644 --- a/src/test/java/cuchaz/enigma/TestDeobfed.java +++ b/src/test/java/cuchaz/enigma/TestDeobfed.java @@ -25,15 +25,15 @@ import static org.hamcrest.Matchers.containsInAnyOrder; public class TestDeobfed { - private static JarFile jar; + private static ParsedJar jar; private static JarIndex index; @BeforeClass public static void beforeClass() throws Exception { - jar = new JarFile("build/test-deobf/translation.jar"); + jar = new ParsedJar(new JarFile("build/test-deobf/translation.jar")); index = new JarIndex(new ReferencedEntryPool()); - index.indexJar(new ParsedJar(jar), true); + index.indexJar(jar, true); } @Test diff --git a/src/test/java/cuchaz/enigma/TestInnerClasses.java b/src/test/java/cuchaz/enigma/TestInnerClasses.java index f739c11e..843a63c7 100644 --- a/src/test/java/cuchaz/enigma/TestInnerClasses.java +++ b/src/test/java/cuchaz/enigma/TestInnerClasses.java @@ -42,8 +42,8 @@ public class TestInnerClasses { public TestInnerClasses() throws Exception { index = new JarIndex(new ReferencedEntryPool()); - JarFile jar = new JarFile("build/test-obf/innerClasses.jar"); - index.indexJar(new ParsedJar(jar), true); + ParsedJar jar = new ParsedJar(new JarFile("build/test-obf/innerClasses.jar")); + index.indexJar(jar, true); deobfuscator = new Deobfuscator(jar); } -- cgit v1.2.3