summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/gui/GuiController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/gui/GuiController.java')
-rw-r--r--src/cuchaz/enigma/gui/GuiController.java39
1 files changed, 18 insertions, 21 deletions
diff --git a/src/cuchaz/enigma/gui/GuiController.java b/src/cuchaz/enigma/gui/GuiController.java
index a4228c7..1946b4a 100644
--- a/src/cuchaz/enigma/gui/GuiController.java
+++ b/src/cuchaz/enigma/gui/GuiController.java
@@ -20,6 +20,8 @@ import java.util.Stack;
20import com.google.common.collect.Lists; 20import com.google.common.collect.Lists;
21 21
22import cuchaz.enigma.Deobfuscator; 22import cuchaz.enigma.Deobfuscator;
23import cuchaz.enigma.analysis.ClassInheritanceTreeNode;
24import cuchaz.enigma.analysis.MethodInheritanceTreeNode;
23import cuchaz.enigma.analysis.SourceIndex; 25import cuchaz.enigma.analysis.SourceIndex;
24import cuchaz.enigma.analysis.Token; 26import cuchaz.enigma.analysis.Token;
25import cuchaz.enigma.mapping.ClassEntry; 27import cuchaz.enigma.mapping.ClassEntry;
@@ -27,8 +29,8 @@ import cuchaz.enigma.mapping.Entry;
27import cuchaz.enigma.mapping.EntryPair; 29import cuchaz.enigma.mapping.EntryPair;
28import cuchaz.enigma.mapping.MappingsReader; 30import cuchaz.enigma.mapping.MappingsReader;
29import cuchaz.enigma.mapping.MappingsWriter; 31import cuchaz.enigma.mapping.MappingsWriter;
32import cuchaz.enigma.mapping.MethodEntry;
30import cuchaz.enigma.mapping.TranslationDirection; 33import cuchaz.enigma.mapping.TranslationDirection;
31import cuchaz.enigma.mapping.Translator;
32 34
33public class GuiController 35public class GuiController
34{ 36{
@@ -128,27 +130,22 @@ public class GuiController
128 return m_deobfuscator.entryIsObfuscatedIdenfitier( m_deobfuscator.obfuscateEntry( deobfEntry ) ); 130 return m_deobfuscator.entryIsObfuscatedIdenfitier( m_deobfuscator.obfuscateEntry( deobfEntry ) );
129 } 131 }
130 132
131 public ClassInheritanceTreeNode getClassInheritance( ClassEntry classEntry ) 133 public ClassInheritanceTreeNode getClassInheritance( ClassEntry obfClassEntry )
132 { 134 {
133 Translator deobfuscatingTranslator = m_deobfuscator.getTranslator( TranslationDirection.Deobfuscating ); 135 ClassInheritanceTreeNode rootNode = m_deobfuscator.getAncestries().getClassInheritance(
134 136 m_deobfuscator.getTranslator( TranslationDirection.Deobfuscating ),
135 // create a node for this class 137 obfClassEntry
136 ClassInheritanceTreeNode thisNode = new ClassInheritanceTreeNode( deobfuscatingTranslator, classEntry.getName() ); 138 );
137 139 return ClassInheritanceTreeNode.findNode( rootNode, obfClassEntry );
138 // expand all children recursively 140 }
139 thisNode.load( m_deobfuscator.getAncestries(), true ); 141
140 142 public MethodInheritanceTreeNode getMethodInheritance( MethodEntry obfMethodEntry )
141 // get the ancestors too 143 {
142 ClassInheritanceTreeNode node = thisNode; 144 MethodInheritanceTreeNode rootNode = m_deobfuscator.getAncestries().getMethodInheritance(
143 for( String superclassName : m_deobfuscator.getAncestries().getAncestry( classEntry.getName() ) ) 145 m_deobfuscator.getTranslator( TranslationDirection.Deobfuscating ),
144 { 146 obfMethodEntry
145 // add the parent node 147 );
146 ClassInheritanceTreeNode parentNode = new ClassInheritanceTreeNode( deobfuscatingTranslator, superclassName ); 148 return MethodInheritanceTreeNode.findNode( rootNode, obfMethodEntry );
147 parentNode.add( node );
148 node = parentNode;
149 }
150
151 return thisNode;
152 } 149 }
153 150
154 public void rename( Entry obfEntry, String newName ) 151 public void rename( Entry obfEntry, String newName )