From d3fc0b55515e81ae1b10fa16129f05b0241271f0 Mon Sep 17 00:00:00 2001 From: jeff Date: Sun, 31 Aug 2014 14:41:24 -0400 Subject: fixed lots of bugs in the mappings converter. It's finally ready. =) --- src/cuchaz/enigma/mapping/Mappings.java | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'src/cuchaz/enigma/mapping') 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; import java.io.ObjectInputStream; import java.io.Serializable; import java.util.ArrayList; -import java.util.List; import java.util.Map; +import java.util.Set; import java.util.zip.GZIPInputStream; +import com.beust.jcommander.internal.Sets; import com.google.common.collect.Maps; import cuchaz.enigma.Util; import cuchaz.enigma.analysis.Ancestries; import cuchaz.enigma.analysis.DeobfuscatedAncestries; +import cuchaz.enigma.mapping.SignatureUpdater.ClassNameUpdater; public class Mappings implements Serializable { @@ -163,9 +165,28 @@ public class Mappings implements Serializable } } - public List getAllObfClassNames( ) + public Set getAllObfClassNames( ) { - // TODO: implement this - return null; + final Set classNames = Sets.newHashSet(); + for( ClassMapping classMapping : classes() ) + { + // add the class name + classNames.add( classMapping.getObfName() ); + + // add classes from method signatures + for( MethodMapping methodMapping : classMapping.methods() ) + { + SignatureUpdater.update( methodMapping.getObfSignature(), new ClassNameUpdater( ) + { + @Override + public String update( String className ) + { + classNames.add( className ); + return className; + } + } ); + } + } + return classNames; } } -- cgit v1.2.3