summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar jeff2015-02-20 18:19:57 -0500
committerGravatar jeff2015-02-20 18:19:57 -0500
commitddaa0f6bdeeec392764ff36d822d39baf154d8c6 (patch)
tree2e2851013ac39024d9d86753857337cc1c615338 /src
parentAdded tag v0.7 beta for changeset 36d527e5aeb7 (diff)
downloadenigma-ddaa0f6bdeeec392764ff36d822d39baf154d8c6.tar.gz
enigma-ddaa0f6bdeeec392764ff36d822d39baf154d8c6.tar.xz
enigma-ddaa0f6bdeeec392764ff36d822d39baf154d8c6.zip
better error messages for procyon type resolution
Diffstat (limited to 'src')
-rw-r--r--src/cuchaz/enigma/Deobfuscator.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/cuchaz/enigma/Deobfuscator.java b/src/cuchaz/enigma/Deobfuscator.java
index 9cd6e41f..c1954fc7 100644
--- a/src/cuchaz/enigma/Deobfuscator.java
+++ b/src/cuchaz/enigma/Deobfuscator.java
@@ -31,6 +31,7 @@ import com.google.common.collect.Maps;
31import com.google.common.collect.Sets; 31import com.google.common.collect.Sets;
32import com.strobel.assembler.metadata.MetadataSystem; 32import com.strobel.assembler.metadata.MetadataSystem;
33import com.strobel.assembler.metadata.TypeDefinition; 33import com.strobel.assembler.metadata.TypeDefinition;
34import com.strobel.assembler.metadata.TypeReference;
34import com.strobel.decompiler.DecompilerContext; 35import com.strobel.decompiler.DecompilerContext;
35import com.strobel.decompiler.DecompilerSettings; 36import com.strobel.decompiler.DecompilerSettings;
36import com.strobel.decompiler.PlainTextOutput; 37import com.strobel.decompiler.PlainTextOutput;
@@ -225,9 +226,15 @@ public class Deobfuscator {
225 getTranslator(TranslationDirection.Obfuscating), 226 getTranslator(TranslationDirection.Obfuscating),
226 getTranslator(TranslationDirection.Deobfuscating) 227 getTranslator(TranslationDirection.Deobfuscating)
227 )); 228 ));
229
230 // see if procyon can find the type
231 TypeReference type = new MetadataSystem(m_settings.getTypeLoader()).lookupType(lookupClassName);
232 if (type == null) {
233 throw new Error("Unable to find type: " + lookupClassName + " (obf name: " + obfClassName + ")");
234 }
235 TypeDefinition resolvedType = type.resolve();
228 236
229 // decompile it! 237 // decompile it!
230 TypeDefinition resolvedType = new MetadataSystem(m_settings.getTypeLoader()).lookupType(lookupClassName).resolve();
231 DecompilerContext context = new DecompilerContext(); 238 DecompilerContext context = new DecompilerContext();
232 context.setCurrentType(resolvedType); 239 context.setCurrentType(resolvedType);
233 context.setSettings(m_settings); 240 context.setSettings(m_settings);