summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar gegy10002018-06-22 22:29:41 +0200
committerGravatar gegy10002018-06-22 22:29:41 +0200
commit7ec433f1ecc5b44f8b690c7443d5e38ac0e6422d (patch)
tree346ba1771ce56d46cab67ee4b80c86214856db54 /src/main/java
parentFix compile issues (diff)
downloadenigma-fork-7ec433f1ecc5b44f8b690c7443d5e38ac0e6422d.tar.gz
enigma-fork-7ec433f1ecc5b44f8b690c7443d5e38ac0e6422d.tar.xz
enigma-fork-7ec433f1ecc5b44f8b690c7443d5e38ac0e6422d.zip
Resolve all failed tests
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/cuchaz/enigma/Deobfuscator.java16
-rw-r--r--src/main/java/cuchaz/enigma/analysis/JarIndex.java3
-rw-r--r--src/main/java/cuchaz/enigma/analysis/TranslationIndex.java2
-rw-r--r--src/main/java/cuchaz/enigma/gui/GuiController.java2
4 files changed, 10 insertions, 13 deletions
diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java
index 6bbfd07..bdd8873 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;
46public class Deobfuscator { 46public class Deobfuscator {
47 47
48 private final ReferencedEntryPool entryPool = new ReferencedEntryPool(); 48 private final ReferencedEntryPool entryPool = new ReferencedEntryPool();
49 private final JarFile jar;
50 private final ParsedJar parsedJar; 49 private final ParsedJar parsedJar;
51 private final DecompilerSettings settings; 50 private final DecompilerSettings settings;
52 private final JarIndex jarIndex; 51 private final JarIndex jarIndex;
@@ -54,9 +53,8 @@ public class Deobfuscator {
54 private final Map<TranslationDirection, Translator> translatorCache; 53 private final Map<TranslationDirection, Translator> translatorCache;
55 private Mappings mappings; 54 private Mappings mappings;
56 55
57 public Deobfuscator(JarFile jar) throws IOException { 56 public Deobfuscator(ParsedJar jar) {
58 this.jar = jar; 57 this.parsedJar = jar;
59 this.parsedJar = new ParsedJar(jar);
60 58
61 // build the jar index 59 // build the jar index
62 this.jarIndex = new JarIndex(entryPool); 60 this.jarIndex = new JarIndex(entryPool);
@@ -79,12 +77,12 @@ public class Deobfuscator {
79 setMappings(new Mappings()); 77 setMappings(new Mappings());
80 } 78 }
81 79
82 public ParsedJar getJar() { 80 public Deobfuscator(JarFile jar) throws IOException {
83 return this.parsedJar; 81 this(new ParsedJar(jar));
84 } 82 }
85 83
86 public String getJarName() { 84 public ParsedJar getJar() {
87 return this.jar.getName(); 85 return this.parsedJar;
88 } 86 }
89 87
90 public JarIndex getJarIndex() { 88 public JarIndex getJarIndex() {
@@ -388,7 +386,7 @@ public class Deobfuscator {
388 386
389 classMapping.markDirty(); 387 classMapping.markDirty();
390 renameClassMap.put(classMapping, renameEntries); 388 renameClassMap.put(classMapping, renameEntries);
391 for(ClassMapping innerClass : classMapping.innerClasses()){ 389 for (ClassMapping innerClass : classMapping.innerClasses()) {
392 rebuildMethodNames(innerClass, renameClassMap); 390 rebuildMethodNames(innerClass, renameClassMap);
393 } 391 }
394 } 392 }
diff --git a/src/main/java/cuchaz/enigma/analysis/JarIndex.java b/src/main/java/cuchaz/enigma/analysis/JarIndex.java
index 87e6e88..8172dea 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 {
148 148
149 public void indexInnerClass(ClassEntry innerEntry, ClassEntry outerEntry) { 149 public void indexInnerClass(ClassEntry innerEntry, ClassEntry outerEntry) {
150 this.innerClassesByOuter.put(outerEntry, innerEntry); 150 this.innerClassesByOuter.put(outerEntry, innerEntry);
151 boolean innerWasAdded = this.outerClassesByInner.put(innerEntry, outerEntry) == null; 151 this.outerClassesByInner.putIfAbsent(innerEntry, outerEntry);
152 assert (innerWasAdded);
153 } 152 }
154 153
155 private MethodEntry findBridgedMethod(MethodDefEntry method) { 154 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 644a3f2..b2ddc5f 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 {
84 84
85 // add the superclass 85 // add the superclass
86 ClassEntry superclassEntry = entryPool.getClass(superName); 86 ClassEntry superclassEntry = entryPool.getClass(superName);
87 if (!isJre(superclassEntry)) { 87 if (superclassEntry != null) {
88 this.superclasses.put(classEntry, superclassEntry); 88 this.superclasses.put(classEntry, superclassEntry);
89 } 89 }
90 90
diff --git a/src/main/java/cuchaz/enigma/gui/GuiController.java b/src/main/java/cuchaz/enigma/gui/GuiController.java
index 837cff2..ae1b652 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 {
58 public void openJar(final JarFile jar) throws IOException { 58 public void openJar(final JarFile jar) throws IOException {
59 this.gui.onStartOpenJar(); 59 this.gui.onStartOpenJar();
60 this.deobfuscator = new Deobfuscator(jar); 60 this.deobfuscator = new Deobfuscator(jar);
61 this.gui.onFinishOpenJar(this.deobfuscator.getJarName()); 61 this.gui.onFinishOpenJar(jar.getName());
62 refreshClasses(); 62 refreshClasses();
63 } 63 }
64 64