diff options
Diffstat (limited to 'src/cuchaz/enigma/TranslatingTypeLoader.java')
| -rw-r--r-- | src/cuchaz/enigma/TranslatingTypeLoader.java | 6 |
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 | ||
| 28 | import com.beust.jcommander.internal.Maps; | 28 | import com.beust.jcommander.internal.Maps; |
| 29 | import com.strobel.assembler.metadata.Buffer; | 29 | import com.strobel.assembler.metadata.Buffer; |
| 30 | import com.strobel.assembler.metadata.ClasspathTypeLoader; | ||
| 30 | import com.strobel.assembler.metadata.ITypeLoader; | 31 | import com.strobel.assembler.metadata.ITypeLoader; |
| 31 | 32 | ||
| 32 | import cuchaz.enigma.analysis.BridgeFixer; | 33 | import 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 |