summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java')
-rw-r--r--src/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java48
1 files changed, 18 insertions, 30 deletions
diff --git a/src/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java b/src/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java
index 4e9dd52..49aac5f 100644
--- a/src/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java
+++ b/src/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java
@@ -20,70 +20,58 @@ import cuchaz.enigma.mapping.ClassEntry;
20import cuchaz.enigma.mapping.MethodEntry; 20import cuchaz.enigma.mapping.MethodEntry;
21import cuchaz.enigma.mapping.Translator; 21import cuchaz.enigma.mapping.Translator;
22 22
23public class ClassImplementationsTreeNode extends DefaultMutableTreeNode 23public class ClassImplementationsTreeNode extends DefaultMutableTreeNode {
24{ 24
25 private static final long serialVersionUID = 3112703459157851912L; 25 private static final long serialVersionUID = 3112703459157851912L;
26 26
27 private Translator m_deobfuscatingTranslator; 27 private Translator m_deobfuscatingTranslator;
28 private ClassEntry m_entry; 28 private ClassEntry m_entry;
29 29
30 public ClassImplementationsTreeNode( Translator deobfuscatingTranslator, ClassEntry entry ) 30 public ClassImplementationsTreeNode(Translator deobfuscatingTranslator, ClassEntry entry) {
31 {
32 m_deobfuscatingTranslator = deobfuscatingTranslator; 31 m_deobfuscatingTranslator = deobfuscatingTranslator;
33 m_entry = entry; 32 m_entry = entry;
34 } 33 }
35 34
36 public ClassEntry getClassEntry( ) 35 public ClassEntry getClassEntry() {
37 {
38 return m_entry; 36 return m_entry;
39 } 37 }
40 38
41 public String getDeobfClassName( ) 39 public String getDeobfClassName() {
42 { 40 return m_deobfuscatingTranslator.translateClass(m_entry.getClassName());
43 return m_deobfuscatingTranslator.translateClass( m_entry.getClassName() );
44 } 41 }
45 42
46 @Override 43 @Override
47 public String toString( ) 44 public String toString() {
48 {
49 String className = getDeobfClassName(); 45 String className = getDeobfClassName();
50 if( className == null ) 46 if (className == null) {
51 {
52 className = m_entry.getClassName(); 47 className = m_entry.getClassName();
53 } 48 }
54 return className; 49 return className;
55 } 50 }
56 51
57 public void load( JarIndex index ) 52 public void load(JarIndex index) {
58 {
59 // get all method implementations 53 // get all method implementations
60 List<ClassImplementationsTreeNode> nodes = Lists.newArrayList(); 54 List<ClassImplementationsTreeNode> nodes = Lists.newArrayList();
61 for( String implementingClassName : index.getImplementingClasses( m_entry.getClassName() ) ) 55 for (String implementingClassName : index.getImplementingClasses(m_entry.getClassName())) {
62 { 56 nodes.add(new ClassImplementationsTreeNode(m_deobfuscatingTranslator, new ClassEntry(implementingClassName)));
63 nodes.add( new ClassImplementationsTreeNode( m_deobfuscatingTranslator, new ClassEntry( implementingClassName ) ) );
64 } 57 }
65 58
66 // add them to this node 59 // add them to this node
67 for( ClassImplementationsTreeNode node : nodes ) 60 for (ClassImplementationsTreeNode node : nodes) {
68 { 61 this.add(node);
69 this.add( node );
70 } 62 }
71 } 63 }
72 64
73 public static ClassImplementationsTreeNode findNode( ClassImplementationsTreeNode node, MethodEntry entry ) 65 public static ClassImplementationsTreeNode findNode(ClassImplementationsTreeNode node, MethodEntry entry) {
74 {
75 // is this the node? 66 // is this the node?
76 if( node.m_entry.equals( entry ) ) 67 if (node.m_entry.equals(entry)) {
77 {
78 return node; 68 return node;
79 } 69 }
80 70
81 // recurse 71 // recurse
82 for( int i=0; i<node.getChildCount(); i++ ) 72 for (int i = 0; i < node.getChildCount(); i++) {
83 { 73 ClassImplementationsTreeNode foundNode = findNode((ClassImplementationsTreeNode)node.getChildAt(i), entry);
84 ClassImplementationsTreeNode foundNode = findNode( (ClassImplementationsTreeNode)node.getChildAt( i ), entry ); 74 if (foundNode != null) {
85 if( foundNode != null )
86 {
87 return foundNode; 75 return foundNode;
88 } 76 }
89 } 77 }