diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java b/src/main/java/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java index f5227bb..2a231cb 100644 --- a/src/main/java/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java +++ b/src/main/java/cuchaz/enigma/analysis/ClassImplementationsTreeNode.java | |||
| @@ -17,6 +17,7 @@ import java.util.List; | |||
| 17 | import javax.swing.tree.DefaultMutableTreeNode; | 17 | import javax.swing.tree.DefaultMutableTreeNode; |
| 18 | 18 | ||
| 19 | import cuchaz.enigma.mapping.ClassEntry; | 19 | import cuchaz.enigma.mapping.ClassEntry; |
| 20 | import cuchaz.enigma.mapping.MethodEntry; | ||
| 20 | import cuchaz.enigma.mapping.Translator; | 21 | import cuchaz.enigma.mapping.Translator; |
| 21 | 22 | ||
| 22 | public class ClassImplementationsTreeNode extends DefaultMutableTreeNode { | 23 | public class ClassImplementationsTreeNode extends DefaultMutableTreeNode { |
| @@ -56,4 +57,20 @@ public class ClassImplementationsTreeNode extends DefaultMutableTreeNode { | |||
| 56 | // add them to this node | 57 | // add them to this node |
| 57 | nodes.forEach(this::add); | 58 | nodes.forEach(this::add); |
| 58 | } | 59 | } |
| 60 | |||
| 61 | public static ClassImplementationsTreeNode findNode(ClassImplementationsTreeNode node, MethodEntry entry) { | ||
| 62 | // is this the node? | ||
| 63 | if (node.entry.equals(entry)) { | ||
| 64 | return node; | ||
| 65 | } | ||
| 66 | |||
| 67 | // recurse | ||
| 68 | for (int i = 0; i < node.getChildCount(); i++) { | ||
| 69 | ClassImplementationsTreeNode foundNode = findNode((ClassImplementationsTreeNode) node.getChildAt(i), entry); | ||
| 70 | if (foundNode != null) { | ||
| 71 | return foundNode; | ||
| 72 | } | ||
| 73 | } | ||
| 74 | return null; | ||
| 75 | } | ||
| 59 | } | 76 | } |