summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/Ancestries.java
diff options
context:
space:
mode:
authorGravatar jeff2014-08-06 00:22:25 -0400
committerGravatar jeff2014-08-06 00:22:25 -0400
commitd71c0af8ed298bfb4b35b4e3e61b5678bc1c7d9f (patch)
tree103fea72601d989d1a1bb503c6bcfe662c6dc541 /src/cuchaz/enigma/mapping/Ancestries.java
parentstarted on inheritance viewer (diff)
downloadenigma-fork-d71c0af8ed298bfb4b35b4e3e61b5678bc1c7d9f.tar.gz
enigma-fork-d71c0af8ed298bfb4b35b4e3e61b5678bc1c7d9f.tar.xz
enigma-fork-d71c0af8ed298bfb4b35b4e3e61b5678bc1c7d9f.zip
added simple class inheritance browsing
Diffstat (limited to 'src/cuchaz/enigma/mapping/Ancestries.java')
-rw-r--r--src/cuchaz/enigma/mapping/Ancestries.java22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/cuchaz/enigma/mapping/Ancestries.java b/src/cuchaz/enigma/mapping/Ancestries.java
index b7a5e24..f77a00e 100644
--- a/src/cuchaz/enigma/mapping/Ancestries.java
+++ b/src/cuchaz/enigma/mapping/Ancestries.java
@@ -26,6 +26,7 @@ import javassist.CtClass;
26import javassist.NotFoundException; 26import javassist.NotFoundException;
27import javassist.bytecode.Descriptor; 27import javassist.bytecode.Descriptor;
28 28
29import com.beust.jcommander.internal.Lists;
29import com.google.common.collect.Maps; 30import com.google.common.collect.Maps;
30 31
31import cuchaz.enigma.Constants; 32import cuchaz.enigma.Constants;
@@ -121,11 +122,30 @@ public class Ancestries implements Serializable
121 while( className != null ) 122 while( className != null )
122 { 123 {
123 className = getSuperclassName( className ); 124 className = getSuperclassName( className );
124 ancestors.add( className ); 125 if( className != null )
126 {
127 ancestors.add( className );
128 }
125 } 129 }
126 return ancestors; 130 return ancestors;
127 } 131 }
128 132
133 public List<String> getSubclasses( String className )
134 {
135 // linear search is fast enough for now
136 List<String> subclasses = Lists.newArrayList();
137 for( Map.Entry<String,String> entry : m_superclasses.entrySet() )
138 {
139 String subclass = entry.getKey();
140 String superclass = entry.getValue();
141 if( className.equals( superclass ) )
142 {
143 subclasses.add( subclass );
144 }
145 }
146 return subclasses;
147 }
148
129 private boolean isJre( String className ) 149 private boolean isJre( String className )
130 { 150 {
131 return className.startsWith( "java/" ) 151 return className.startsWith( "java/" )