summaryrefslogtreecommitdiff
path: root/src/cuchaz
diff options
context:
space:
mode:
authorGravatar jeff2014-09-07 22:30:28 -0400
committerGravatar jeff2014-09-07 22:30:28 -0400
commit730238f3bab1c680424e0ac74178c33b15b43eb5 (patch)
tree4cc1075993b63d0066d5d4325c20bf49a3b88209 /src/cuchaz
parentadded proguard to the gradle config to create obfuscated jars for testing (diff)
downloadenigma-730238f3bab1c680424e0ac74178c33b15b43eb5.tar.gz
enigma-730238f3bab1c680424e0ac74178c33b15b43eb5.tar.xz
enigma-730238f3bab1c680424e0ac74178c33b15b43eb5.zip
added some basic tests for the deobufscator and the jar index
Diffstat (limited to 'src/cuchaz')
-rw-r--r--src/cuchaz/enigma/analysis/JarIndex.java11
-rw-r--r--src/cuchaz/enigma/convert/ClassIdentity.java14
2 files changed, 17 insertions, 8 deletions
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
587 587
588 public ClassImplementationsTreeNode getClassImplementations( Translator deobfuscatingTranslator, ClassEntry obfClassEntry ) 588 public ClassImplementationsTreeNode getClassImplementations( Translator deobfuscatingTranslator, ClassEntry obfClassEntry )
589 { 589 {
590 ClassImplementationsTreeNode node = new ClassImplementationsTreeNode( deobfuscatingTranslator, obfClassEntry ); 590 // is this even an interface?
591 node.load( this ); 591 if( isInterface( obfClassEntry.getClassName() ) )
592 return node; 592 {
593 ClassImplementationsTreeNode node = new ClassImplementationsTreeNode( deobfuscatingTranslator, obfClassEntry );
594 node.load( this );
595 return node;
596 }
597 return null;
593 } 598 }
594 599
595 public MethodInheritanceTreeNode getMethodInheritance( Translator deobfuscatingTranslator, MethodEntry obfMethodEntry ) 600 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
111 // stuff from the jar index 111 // stuff from the jar index
112 112
113 m_implementations = HashMultiset.create(); 113 m_implementations = HashMultiset.create();
114 @SuppressWarnings( "unchecked" ) 114 ClassImplementationsTreeNode implementationsNode = index.getClassImplementations( null, m_classEntry );
115 Enumeration<ClassImplementationsTreeNode> implementations = index.getClassImplementations( null, m_classEntry ).children(); 115 if( implementationsNode != null )
116 while( implementations.hasMoreElements() )
117 { 116 {
118 ClassImplementationsTreeNode node = implementations.nextElement(); 117 @SuppressWarnings( "unchecked" )
119 m_implementations.add( scrubClassName( node.getClassEntry().getName() ) ); 118 Enumeration<ClassImplementationsTreeNode> implementations = implementationsNode.children();
119 while( implementations.hasMoreElements() )
120 {
121 ClassImplementationsTreeNode node = implementations.nextElement();
122 m_implementations.add( scrubClassName( node.getClassEntry().getName() ) );
123 }
120 } 124 }
121 125
122 m_references = HashMultiset.create(); 126 m_references = HashMultiset.create();