summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/Mappings.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/mapping/Mappings.java')
-rw-r--r--src/cuchaz/enigma/mapping/Mappings.java29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/cuchaz/enigma/mapping/Mappings.java b/src/cuchaz/enigma/mapping/Mappings.java
index c92f8de..4b47d16 100644
--- a/src/cuchaz/enigma/mapping/Mappings.java
+++ b/src/cuchaz/enigma/mapping/Mappings.java
@@ -15,15 +15,17 @@ import java.io.InputStream;
15import java.io.ObjectInputStream; 15import java.io.ObjectInputStream;
16import java.io.Serializable; 16import java.io.Serializable;
17import java.util.ArrayList; 17import java.util.ArrayList;
18import java.util.List;
19import java.util.Map; 18import java.util.Map;
19import java.util.Set;
20import java.util.zip.GZIPInputStream; 20import java.util.zip.GZIPInputStream;
21 21
22import com.beust.jcommander.internal.Sets;
22import com.google.common.collect.Maps; 23import com.google.common.collect.Maps;
23 24
24import cuchaz.enigma.Util; 25import cuchaz.enigma.Util;
25import cuchaz.enigma.analysis.Ancestries; 26import cuchaz.enigma.analysis.Ancestries;
26import cuchaz.enigma.analysis.DeobfuscatedAncestries; 27import cuchaz.enigma.analysis.DeobfuscatedAncestries;
28import cuchaz.enigma.mapping.SignatureUpdater.ClassNameUpdater;
27 29
28public class Mappings implements Serializable 30public class Mappings implements Serializable
29{ 31{
@@ -163,9 +165,28 @@ public class Mappings implements Serializable
163 } 165 }
164 } 166 }
165 167
166 public List<String> getAllObfClassNames( ) 168 public Set<String> getAllObfClassNames( )
167 { 169 {
168 // TODO: implement this 170 final Set<String> classNames = Sets.newHashSet();
169 return null; 171 for( ClassMapping classMapping : classes() )
172 {
173 // add the class name
174 classNames.add( classMapping.getObfName() );
175
176 // add classes from method signatures
177 for( MethodMapping methodMapping : classMapping.methods() )
178 {
179 SignatureUpdater.update( methodMapping.getObfSignature(), new ClassNameUpdater( )
180 {
181 @Override
182 public String update( String className )
183 {
184 classNames.add( className );
185 return className;
186 }
187 } );
188 }
189 }
190 return classNames;
170 } 191 }
171} 192}