From 63172120a39a315e29bc38ea6634741797b3dcab Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 30 Aug 2014 14:14:54 -0400 Subject: finished class matching for now, need to work on class member matching --- src/cuchaz/enigma/mapping/Mappings.java | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/cuchaz/enigma/mapping/Mappings.java') diff --git a/src/cuchaz/enigma/mapping/Mappings.java b/src/cuchaz/enigma/mapping/Mappings.java index f3b8fad..70bea25 100644 --- a/src/cuchaz/enigma/mapping/Mappings.java +++ b/src/cuchaz/enigma/mapping/Mappings.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.Serializable; +import java.util.ArrayList; import java.util.Map; import java.util.zip.GZIPInputStream; @@ -136,4 +137,28 @@ public class Mappings implements Serializable } return buf.toString(); } + + public void renameObfClasses( Map nameMap ) + { + for( ClassMapping classMapping : new ArrayList( m_classesByObf.values() ) ) + { + String newName = nameMap.get( classMapping.getObfName() ); + if( newName != null ) + { + m_classesByObf.remove( classMapping.getObfName() ); + classMapping.renameObfClasses( nameMap ); + m_classesByObf.put( classMapping.getObfName(), classMapping ); + } + } + } + + public void removeClassByObfName( String obfName ) + { + ClassMapping classMapping = m_classesByObf.get( obfName ); + if( classMapping != null ) + { + m_classesByObf.remove( classMapping.getObfName() ); + m_classesByDeobf.remove( classMapping.getDeobfName() ); + } + } } -- cgit v1.2.3