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.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/cuchaz/enigma/gui/GuiController.java b/src/cuchaz/enigma/gui/GuiController.java
index e1ba49a..452632f 100644
--- a/src/cuchaz/enigma/gui/GuiController.java
+++ b/src/cuchaz/enigma/gui/GuiController.java
@@ -26,6 +26,7 @@ import cuchaz.enigma.ClassFile;
26import cuchaz.enigma.Deobfuscator; 26import cuchaz.enigma.Deobfuscator;
27import cuchaz.enigma.analysis.Analyzer; 27import cuchaz.enigma.analysis.Analyzer;
28import cuchaz.enigma.analysis.SourceIndex; 28import cuchaz.enigma.analysis.SourceIndex;
29import cuchaz.enigma.mapping.ClassEntry;
29import cuchaz.enigma.mapping.Entry; 30import cuchaz.enigma.mapping.Entry;
30import cuchaz.enigma.mapping.EntryPair; 31import cuchaz.enigma.mapping.EntryPair;
31import cuchaz.enigma.mapping.MappingsReader; 32import cuchaz.enigma.mapping.MappingsReader;
@@ -129,6 +130,27 @@ public class GuiController
129 return m_deobfuscator.hasMapping( pair.obf ); 130 return m_deobfuscator.hasMapping( pair.obf );
130 } 131 }
131 132
133 public ClassInheritanceTreeNode getClassInheritance( ClassEntry classEntry )
134 {
135 // create a node for this class
136 ClassInheritanceTreeNode thisNode = new ClassInheritanceTreeNode( classEntry.getName() );
137
138 // expand all children recursively
139 thisNode.load( m_deobfuscator.getAncestries(), true );
140
141 // get the ancestors too
142 ClassInheritanceTreeNode node = thisNode;
143 for( String superclassName : m_deobfuscator.getAncestries().getAncestry( classEntry.getName() ) )
144 {
145 // add the parent node
146 ClassInheritanceTreeNode parentNode = new ClassInheritanceTreeNode( superclassName );
147 parentNode.add( node );
148 node = parentNode;
149 }
150
151 return thisNode;
152 }
153
132 public void rename( Entry obfsEntry, String newName, int lineNum ) 154 public void rename( Entry obfsEntry, String newName, int lineNum )
133 { 155 {
134 m_deobfuscator.rename( obfsEntry, newName ); 156 m_deobfuscator.rename( obfsEntry, newName );