From 730238f3bab1c680424e0ac74178c33b15b43eb5 Mon Sep 17 00:00:00 2001 From: jeff Date: Sun, 7 Sep 2014 22:30:28 -0400 Subject: added some basic tests for the deobufscator and the jar index --- src/cuchaz/enigma/analysis/JarIndex.java | 11 ++++++++--- src/cuchaz/enigma/convert/ClassIdentity.java | 14 +++++++++----- 2 files changed, 17 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/cuchaz/enigma/analysis/JarIndex.java b/src/cuchaz/enigma/analysis/JarIndex.java index a8ac0013..b4096e9d 100644 --- a/src/cuchaz/enigma/analysis/JarIndex.java +++ b/src/cuchaz/enigma/analysis/JarIndex.java @@ -587,9 +587,14 @@ public class JarIndex public ClassImplementationsTreeNode getClassImplementations( Translator deobfuscatingTranslator, ClassEntry obfClassEntry ) { - ClassImplementationsTreeNode node = new ClassImplementationsTreeNode( deobfuscatingTranslator, obfClassEntry ); - node.load( this ); - return node; + // is this even an interface? + if( isInterface( obfClassEntry.getClassName() ) ) + { + ClassImplementationsTreeNode node = new ClassImplementationsTreeNode( deobfuscatingTranslator, obfClassEntry ); + node.load( this ); + return node; + } + return null; } public MethodInheritanceTreeNode getMethodInheritance( Translator deobfuscatingTranslator, MethodEntry obfMethodEntry ) diff --git a/src/cuchaz/enigma/convert/ClassIdentity.java b/src/cuchaz/enigma/convert/ClassIdentity.java index bd2824b3..b3b043e5 100644 --- a/src/cuchaz/enigma/convert/ClassIdentity.java +++ b/src/cuchaz/enigma/convert/ClassIdentity.java @@ -111,12 +111,16 @@ public class ClassIdentity // stuff from the jar index m_implementations = HashMultiset.create(); - @SuppressWarnings( "unchecked" ) - Enumeration implementations = index.getClassImplementations( null, m_classEntry ).children(); - while( implementations.hasMoreElements() ) + ClassImplementationsTreeNode implementationsNode = index.getClassImplementations( null, m_classEntry ); + if( implementationsNode != null ) { - ClassImplementationsTreeNode node = implementations.nextElement(); - m_implementations.add( scrubClassName( node.getClassEntry().getName() ) ); + @SuppressWarnings( "unchecked" ) + Enumeration implementations = implementationsNode.children(); + while( implementations.hasMoreElements() ) + { + ClassImplementationsTreeNode node = implementations.nextElement(); + m_implementations.add( scrubClassName( node.getClassEntry().getName() ) ); + } } m_references = HashMultiset.create(); -- cgit v1.2.3