diff options
Diffstat (limited to 'src/cuchaz/enigma/gui/GuiController.java')
| -rw-r--r-- | src/cuchaz/enigma/gui/GuiController.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cuchaz/enigma/gui/GuiController.java b/src/cuchaz/enigma/gui/GuiController.java index 61fea9c..9fa633e 100644 --- a/src/cuchaz/enigma/gui/GuiController.java +++ b/src/cuchaz/enigma/gui/GuiController.java | |||
| @@ -186,14 +186,17 @@ public class GuiController { | |||
| 186 | 186 | ||
| 187 | public MethodImplementationsTreeNode getMethodImplementations(MethodEntry deobfMethodEntry) { | 187 | public MethodImplementationsTreeNode getMethodImplementations(MethodEntry deobfMethodEntry) { |
| 188 | MethodEntry obfMethodEntry = m_deobfuscator.obfuscateEntry(deobfMethodEntry); | 188 | MethodEntry obfMethodEntry = m_deobfuscator.obfuscateEntry(deobfMethodEntry); |
| 189 | MethodImplementationsTreeNode rootNode = m_deobfuscator.getJarIndex().getMethodImplementations( | 189 | List<MethodImplementationsTreeNode> rootNodes = m_deobfuscator.getJarIndex().getMethodImplementations( |
| 190 | m_deobfuscator.getTranslator(TranslationDirection.Deobfuscating), | 190 | m_deobfuscator.getTranslator(TranslationDirection.Deobfuscating), |
| 191 | obfMethodEntry | 191 | obfMethodEntry |
| 192 | ); | 192 | ); |
| 193 | if (rootNode == null) { | 193 | if (rootNodes.isEmpty()) { |
| 194 | return null; | 194 | return null; |
| 195 | } | 195 | } |
| 196 | return MethodImplementationsTreeNode.findNode(rootNode, obfMethodEntry); | 196 | if (rootNodes.size() > 1) { |
| 197 | System.err.println("WARNING: Method " + deobfMethodEntry + " implements multiple interfaces. Only showing first one."); | ||
| 198 | } | ||
| 199 | return MethodImplementationsTreeNode.findNode(rootNodes.get(0), obfMethodEntry); | ||
| 197 | } | 200 | } |
| 198 | 201 | ||
| 199 | public FieldReferenceTreeNode getFieldReferences(FieldEntry deobfFieldEntry) { | 202 | public FieldReferenceTreeNode getFieldReferences(FieldEntry deobfFieldEntry) { |