From 5f44aac70f59898197c2a7625b74f901c3b31106 Mon Sep 17 00:00:00 2001 From: jeff Date: Tue, 26 Aug 2014 00:27:44 -0400 Subject: implemented proper support for interfaces --- src/cuchaz/enigma/gui/GuiController.java | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/cuchaz/enigma/gui/GuiController.java') diff --git a/src/cuchaz/enigma/gui/GuiController.java b/src/cuchaz/enigma/gui/GuiController.java index 90bce52..bd79e48 100644 --- a/src/cuchaz/enigma/gui/GuiController.java +++ b/src/cuchaz/enigma/gui/GuiController.java @@ -24,9 +24,11 @@ import com.strobel.decompiler.languages.java.ast.CompilationUnit; import cuchaz.enigma.Deobfuscator; import cuchaz.enigma.analysis.BehaviorReferenceTreeNode; +import cuchaz.enigma.analysis.ClassImplementationsTreeNode; import cuchaz.enigma.analysis.ClassInheritanceTreeNode; import cuchaz.enigma.analysis.EntryReference; import cuchaz.enigma.analysis.FieldReferenceTreeNode; +import cuchaz.enigma.analysis.MethodImplementationsTreeNode; import cuchaz.enigma.analysis.MethodInheritanceTreeNode; import cuchaz.enigma.analysis.SourceIndex; import cuchaz.enigma.analysis.Token; @@ -182,6 +184,15 @@ public class GuiController return ClassInheritanceTreeNode.findNode( rootNode, obfClassEntry ); } + public ClassImplementationsTreeNode getClassImplementations( ClassEntry deobfClassEntry ) + { + ClassEntry obfClassEntry = m_deobfuscator.obfuscateEntry( deobfClassEntry ); + return m_deobfuscator.getJarIndex().getClassImplementations( + m_deobfuscator.getTranslator( TranslationDirection.Deobfuscating ), + obfClassEntry + ); + } + public MethodInheritanceTreeNode getMethodInheritance( MethodEntry deobfMethodEntry ) { MethodEntry obfMethodEntry = m_deobfuscator.obfuscateEntry( deobfMethodEntry ); @@ -192,6 +203,20 @@ public class GuiController return MethodInheritanceTreeNode.findNode( rootNode, obfMethodEntry ); } + public MethodImplementationsTreeNode getMethodImplementations( MethodEntry deobfMethodEntry ) + { + MethodEntry obfMethodEntry = m_deobfuscator.obfuscateEntry( deobfMethodEntry ); + MethodImplementationsTreeNode rootNode = m_deobfuscator.getJarIndex().getMethodImplementations( + m_deobfuscator.getTranslator( TranslationDirection.Deobfuscating ), + obfMethodEntry + ); + if( rootNode == null ) + { + return null; + } + return MethodImplementationsTreeNode.findNode( rootNode, obfMethodEntry ); + } + public FieldReferenceTreeNode getFieldReferences( FieldEntry deobfFieldEntry ) { FieldEntry obfFieldEntry = m_deobfuscator.obfuscateEntry( deobfFieldEntry ); -- cgit v1.2.3