summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/ClassMapping.java
diff options
context:
space:
mode:
authorGravatar jeff2014-08-30 14:14:54 -0400
committerGravatar jeff2014-08-30 14:14:54 -0400
commit63172120a39a315e29bc38ea6634741797b3dcab (patch)
tree9030b8678aaca06982ae4d1032298f52ab833e09 /src/cuchaz/enigma/mapping/ClassMapping.java
parentgot a decent class matcher working (diff)
downloadenigma-fork-63172120a39a315e29bc38ea6634741797b3dcab.tar.gz
enigma-fork-63172120a39a315e29bc38ea6634741797b3dcab.tar.xz
enigma-fork-63172120a39a315e29bc38ea6634741797b3dcab.zip
finished class matching for now, need to work on class member matching
Diffstat (limited to 'src/cuchaz/enigma/mapping/ClassMapping.java')
-rw-r--r--src/cuchaz/enigma/mapping/ClassMapping.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/cuchaz/enigma/mapping/ClassMapping.java b/src/cuchaz/enigma/mapping/ClassMapping.java
index 5936512..095cb38 100644
--- a/src/cuchaz/enigma/mapping/ClassMapping.java
+++ b/src/cuchaz/enigma/mapping/ClassMapping.java
@@ -11,6 +11,7 @@
11package cuchaz.enigma.mapping; 11package cuchaz.enigma.mapping;
12 12
13import java.io.Serializable; 13import java.io.Serializable;
14import java.util.ArrayList;
14import java.util.Map; 15import java.util.Map;
15 16
16import com.google.common.collect.Maps; 17import com.google.common.collect.Maps;
@@ -299,4 +300,32 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping>
299 { 300 {
300 return m_obfName.compareTo( other.m_obfName ); 301 return m_obfName.compareTo( other.m_obfName );
301 } 302 }
303
304 public void renameObfClasses( Map<String,String> nameMap )
305 {
306 // rename self
307 {
308 String newName = nameMap.get( m_obfName );
309 if( newName != null )
310 {
311 m_obfName = newName;
312 }
313 }
314
315 // rename inner classes
316 for( ClassMapping classMapping : new ArrayList<ClassMapping>( m_innerClassesByObf.values() ) )
317 {
318 m_innerClassesByObf.remove( classMapping.getObfName() );
319 classMapping.renameObfClasses( nameMap );
320 m_innerClassesByObf.put( classMapping.getObfName(), classMapping );
321 }
322
323 // rename method signatures
324 for( MethodMapping methodMapping : new ArrayList<MethodMapping>( m_methodsByObf.values() ) )
325 {
326 m_methodsByObf.remove( getMethodKey( methodMapping.getObfName(), methodMapping.getObfSignature() ) );
327 methodMapping.renameObfClasses( nameMap );
328 m_methodsByObf.put( getMethodKey( methodMapping.getObfName(), methodMapping.getObfSignature() ), methodMapping );
329 }
330 }
302} 331}