summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/analysis/ClassReferenceTreeNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/analysis/ClassReferenceTreeNode.java')
-rw-r--r--src/main/java/cuchaz/enigma/analysis/ClassReferenceTreeNode.java30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/main/java/cuchaz/enigma/analysis/ClassReferenceTreeNode.java b/src/main/java/cuchaz/enigma/analysis/ClassReferenceTreeNode.java
index ff5f2e9..90d8a6c 100644
--- a/src/main/java/cuchaz/enigma/analysis/ClassReferenceTreeNode.java
+++ b/src/main/java/cuchaz/enigma/analysis/ClassReferenceTreeNode.java
@@ -12,12 +12,12 @@
12package cuchaz.enigma.analysis; 12package cuchaz.enigma.analysis;
13 13
14import com.google.common.collect.Sets; 14import com.google.common.collect.Sets;
15import cuchaz.enigma.bytecode.AccessFlags; 15import cuchaz.enigma.analysis.index.JarIndex;
16import cuchaz.enigma.mapping.Translator; 16import cuchaz.enigma.analysis.index.ReferenceIndex;
17import cuchaz.enigma.mapping.entry.ClassEntry; 17import cuchaz.enigma.translation.Translator;
18import cuchaz.enigma.mapping.entry.Entry; 18import cuchaz.enigma.translation.representation.entry.ClassEntry;
19import cuchaz.enigma.mapping.entry.MethodDefEntry; 19import cuchaz.enigma.translation.representation.entry.Entry;
20import cuchaz.enigma.mapping.entry.MethodEntry; 20import cuchaz.enigma.translation.representation.entry.MethodDefEntry;
21 21
22import javax.swing.tree.DefaultMutableTreeNode; 22import javax.swing.tree.DefaultMutableTreeNode;
23import javax.swing.tree.TreeNode; 23import javax.swing.tree.TreeNode;
@@ -29,7 +29,6 @@ public class ClassReferenceTreeNode extends DefaultMutableTreeNode
29 private Translator deobfuscatingTranslator; 29 private Translator deobfuscatingTranslator;
30 private ClassEntry entry; 30 private ClassEntry entry;
31 private EntryReference<ClassEntry, MethodDefEntry> reference; 31 private EntryReference<ClassEntry, MethodDefEntry> reference;
32 private AccessFlags access;
33 32
34 public ClassReferenceTreeNode(Translator deobfuscatingTranslator, ClassEntry entry) { 33 public ClassReferenceTreeNode(Translator deobfuscatingTranslator, ClassEntry entry) {
35 this.deobfuscatingTranslator = deobfuscatingTranslator; 34 this.deobfuscatingTranslator = deobfuscatingTranslator;
@@ -37,12 +36,10 @@ public class ClassReferenceTreeNode extends DefaultMutableTreeNode
37 this.reference = null; 36 this.reference = null;
38 } 37 }
39 38
40 public ClassReferenceTreeNode(Translator deobfuscatingTranslator, 39 public ClassReferenceTreeNode(Translator deobfuscatingTranslator, EntryReference<ClassEntry, MethodDefEntry> reference) {
41 EntryReference<ClassEntry, MethodDefEntry> reference, AccessFlags access) {
42 this.deobfuscatingTranslator = deobfuscatingTranslator; 40 this.deobfuscatingTranslator = deobfuscatingTranslator;
43 this.entry = reference.entry; 41 this.entry = reference.entry;
44 this.reference = reference; 42 this.reference = reference;
45 this.access = access;
46 } 43 }
47 44
48 @Override 45 @Override
@@ -58,16 +55,17 @@ public class ClassReferenceTreeNode extends DefaultMutableTreeNode
58 @Override 55 @Override
59 public String toString() { 56 public String toString() {
60 if (this.reference != null) { 57 if (this.reference != null) {
61 return String.format("%s (%s)", this.deobfuscatingTranslator.getTranslatedMethodDef(this.reference.context), 58 return String.format("%s", this.deobfuscatingTranslator.translate(this.reference.context));
62 this.access);
63 } 59 }
64 return this.deobfuscatingTranslator.getTranslatedClass(this.entry).getName(); 60 return this.deobfuscatingTranslator.translate(this.entry).getFullName();
65 } 61 }
66 62
67 public void load(JarIndex index, boolean recurse) { 63 public void load(JarIndex index, boolean recurse) {
64 ReferenceIndex referenceIndex = index.getReferenceIndex();
65
68 // get all the child nodes 66 // get all the child nodes
69 for (EntryReference<ClassEntry, MethodDefEntry> reference : index.getMethodsReferencing(this.entry)) { 67 for (EntryReference<ClassEntry, MethodDefEntry> reference : referenceIndex.getReferencesToClass(this.entry)) {
70 add(new ClassReferenceTreeNode(this.deobfuscatingTranslator, reference, index.getAccessFlags(this.entry))); 68 add(new ClassReferenceTreeNode(this.deobfuscatingTranslator, reference));
71 } 69 }
72 70
73 if (recurse && this.children != null) { 71 if (recurse && this.children != null) {
@@ -76,7 +74,7 @@ public class ClassReferenceTreeNode extends DefaultMutableTreeNode
76 ClassReferenceTreeNode node = (ClassReferenceTreeNode) child; 74 ClassReferenceTreeNode node = (ClassReferenceTreeNode) child;
77 75
78 // don't recurse into ancestor 76 // don't recurse into ancestor
79 Set<Entry> ancestors = Sets.newHashSet(); 77 Set<Entry<?>> ancestors = Sets.newHashSet();
80 TreeNode n = node; 78 TreeNode n = node;
81 while (n.getParent() != null) { 79 while (n.getParent() != null) {
82 n = n.getParent(); 80 n = n.getParent();