diff options
Diffstat (limited to 'src/cuchaz/enigma/mapping/Mappings.java')
| -rw-r--r-- | src/cuchaz/enigma/mapping/Mappings.java | 29 |
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; | |||
| 15 | import java.io.ObjectInputStream; | 15 | import java.io.ObjectInputStream; |
| 16 | import java.io.Serializable; | 16 | import java.io.Serializable; |
| 17 | import java.util.ArrayList; | 17 | import java.util.ArrayList; |
| 18 | import java.util.List; | ||
| 19 | import java.util.Map; | 18 | import java.util.Map; |
| 19 | import java.util.Set; | ||
| 20 | import java.util.zip.GZIPInputStream; | 20 | import java.util.zip.GZIPInputStream; |
| 21 | 21 | ||
| 22 | import com.beust.jcommander.internal.Sets; | ||
| 22 | import com.google.common.collect.Maps; | 23 | import com.google.common.collect.Maps; |
| 23 | 24 | ||
| 24 | import cuchaz.enigma.Util; | 25 | import cuchaz.enigma.Util; |
| 25 | import cuchaz.enigma.analysis.Ancestries; | 26 | import cuchaz.enigma.analysis.Ancestries; |
| 26 | import cuchaz.enigma.analysis.DeobfuscatedAncestries; | 27 | import cuchaz.enigma.analysis.DeobfuscatedAncestries; |
| 28 | import cuchaz.enigma.mapping.SignatureUpdater.ClassNameUpdater; | ||
| 27 | 29 | ||
| 28 | public class Mappings implements Serializable | 30 | public 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 | } |