summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java')
-rw-r--r--src/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java58
1 files changed, 22 insertions, 36 deletions
diff --git a/src/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java b/src/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java
index d3fc9dc..b132305 100644
--- a/src/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java
+++ b/src/cuchaz/enigma/analysis/ClassInheritanceTreeNode.java
@@ -19,78 +19,64 @@ import com.google.common.collect.Lists;
19import cuchaz.enigma.mapping.ClassEntry; 19import cuchaz.enigma.mapping.ClassEntry;
20import cuchaz.enigma.mapping.Translator; 20import cuchaz.enigma.mapping.Translator;
21 21
22public class ClassInheritanceTreeNode extends DefaultMutableTreeNode 22public class ClassInheritanceTreeNode extends DefaultMutableTreeNode {
23{ 23
24 private static final long serialVersionUID = 4432367405826178490L; 24 private static final long serialVersionUID = 4432367405826178490L;
25 25
26 private Translator m_deobfuscatingTranslator; 26 private Translator m_deobfuscatingTranslator;
27 private String m_obfClassName; 27 private String m_obfClassName;
28 28
29 public ClassInheritanceTreeNode( Translator deobfuscatingTranslator, String obfClassName ) 29 public ClassInheritanceTreeNode(Translator deobfuscatingTranslator, String obfClassName) {
30 {
31 m_deobfuscatingTranslator = deobfuscatingTranslator; 30 m_deobfuscatingTranslator = deobfuscatingTranslator;
32 m_obfClassName = obfClassName; 31 m_obfClassName = obfClassName;
33 } 32 }
34 33
35 public String getObfClassName( ) 34 public String getObfClassName() {
36 {
37 return m_obfClassName; 35 return m_obfClassName;
38 } 36 }
39 37
40 public String getDeobfClassName( ) 38 public String getDeobfClassName() {
41 { 39 return m_deobfuscatingTranslator.translateClass(m_obfClassName);
42 return m_deobfuscatingTranslator.translateClass( m_obfClassName );
43 } 40 }
44 41
45 @Override 42 @Override
46 public String toString( ) 43 public String toString() {
47 {
48 String deobfClassName = getDeobfClassName(); 44 String deobfClassName = getDeobfClassName();
49 if( deobfClassName != null ) 45 if (deobfClassName != null) {
50 {
51 return deobfClassName; 46 return deobfClassName;
52 } 47 }
53 return m_obfClassName; 48 return m_obfClassName;
54 } 49 }
55 50
56 public void load( TranslationIndex ancestries, boolean recurse ) 51 public void load(TranslationIndex ancestries, boolean recurse) {
57 {
58 // get all the child nodes 52 // get all the child nodes
59 List<ClassInheritanceTreeNode> nodes = Lists.newArrayList(); 53 List<ClassInheritanceTreeNode> nodes = Lists.newArrayList();
60 for( String subclassName : ancestries.getSubclassNames( m_obfClassName ) ) 54 for (String subclassName : ancestries.getSubclassNames(m_obfClassName)) {
61 { 55 nodes.add(new ClassInheritanceTreeNode(m_deobfuscatingTranslator, subclassName));
62 nodes.add( new ClassInheritanceTreeNode( m_deobfuscatingTranslator, subclassName ) );
63 } 56 }
64 57
65 // add them to this node 58 // add them to this node
66 for( ClassInheritanceTreeNode node : nodes ) 59 for (ClassInheritanceTreeNode node : nodes) {
67 { 60 this.add(node);
68 this.add( node );
69 } 61 }
70 62
71 if( recurse ) 63 if (recurse) {
72 { 64 for (ClassInheritanceTreeNode node : nodes) {
73 for( ClassInheritanceTreeNode node : nodes ) 65 node.load(ancestries, true);
74 {
75 node.load( ancestries, true );
76 } 66 }
77 } 67 }
78 } 68 }
79 69
80 public static ClassInheritanceTreeNode findNode( ClassInheritanceTreeNode node, ClassEntry entry ) 70 public static ClassInheritanceTreeNode findNode(ClassInheritanceTreeNode node, ClassEntry entry) {
81 {
82 // is this the node? 71 // is this the node?
83 if( node.getObfClassName().equals( entry.getName() ) ) 72 if (node.getObfClassName().equals(entry.getName())) {
84 {
85 return node; 73 return node;
86 } 74 }
87 75
88 // recurse 76 // recurse
89 for( int i=0; i<node.getChildCount(); i++ ) 77 for (int i = 0; i < node.getChildCount(); i++) {
90 { 78 ClassInheritanceTreeNode foundNode = findNode((ClassInheritanceTreeNode)node.getChildAt(i), entry);
91 ClassInheritanceTreeNode foundNode = findNode( (ClassInheritanceTreeNode)node.getChildAt( i ), entry ); 79 if (foundNode != null) {
92 if( foundNode != null )
93 {
94 return foundNode; 80 return foundNode;
95 } 81 }
96 } 82 }