summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/TranslatingTypeLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/TranslatingTypeLoader.java')
-rw-r--r--src/cuchaz/enigma/TranslatingTypeLoader.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cuchaz/enigma/TranslatingTypeLoader.java b/src/cuchaz/enigma/TranslatingTypeLoader.java
index 162858de..763d767c 100644
--- a/src/cuchaz/enigma/TranslatingTypeLoader.java
+++ b/src/cuchaz/enigma/TranslatingTypeLoader.java
@@ -27,6 +27,7 @@ import javassist.bytecode.Descriptor;
27 27
28import com.beust.jcommander.internal.Maps; 28import com.beust.jcommander.internal.Maps;
29import com.strobel.assembler.metadata.Buffer; 29import com.strobel.assembler.metadata.Buffer;
30import com.strobel.assembler.metadata.ClasspathTypeLoader;
30import com.strobel.assembler.metadata.ITypeLoader; 31import com.strobel.assembler.metadata.ITypeLoader;
31 32
32import cuchaz.enigma.analysis.BridgeFixer; 33import cuchaz.enigma.analysis.BridgeFixer;
@@ -45,6 +46,7 @@ public class TranslatingTypeLoader implements ITypeLoader
45 private Translator m_obfuscatingTranslator; 46 private Translator m_obfuscatingTranslator;
46 private Translator m_deobfuscatingTranslator; 47 private Translator m_deobfuscatingTranslator;
47 private Map<String,byte[]> m_cache; 48 private Map<String,byte[]> m_cache;
49 private ClasspathTypeLoader m_defaultTypeLoader;
48 50
49 public TranslatingTypeLoader( JarFile jar, JarIndex jarIndex, Translator obfuscatingTranslator, Translator deobfuscatingTranslator ) 51 public TranslatingTypeLoader( JarFile jar, JarIndex jarIndex, Translator obfuscatingTranslator, Translator deobfuscatingTranslator )
50 { 52 {
@@ -53,6 +55,7 @@ public class TranslatingTypeLoader implements ITypeLoader
53 m_obfuscatingTranslator = obfuscatingTranslator; 55 m_obfuscatingTranslator = obfuscatingTranslator;
54 m_deobfuscatingTranslator = deobfuscatingTranslator; 56 m_deobfuscatingTranslator = deobfuscatingTranslator;
55 m_cache = Maps.newHashMap(); 57 m_cache = Maps.newHashMap();
58 m_defaultTypeLoader = new ClasspathTypeLoader();
56 } 59 }
57 60
58 public void clearCache( ) 61 public void clearCache( )
@@ -77,7 +80,8 @@ public class TranslatingTypeLoader implements ITypeLoader
77 80
78 if( data == null ) 81 if( data == null )
79 { 82 {
80 return false; 83 // chain to default type loader
84 return m_defaultTypeLoader.tryLoadType( deobfClassName, out );
81 } 85 }
82 86
83 // send the class to the decompiler 87 // send the class to the decompiler