From 4e9c52d5fc5d23e8a77857e712654596203acb31 Mon Sep 17 00:00:00 2001 From: jeff Date: Sun, 31 Aug 2014 16:14:45 -0400 Subject: fixed mapping conversion bug with class rename order --- src/cuchaz/enigma/mapping/MethodMapping.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/cuchaz/enigma/mapping/MethodMapping.java') diff --git a/src/cuchaz/enigma/mapping/MethodMapping.java b/src/cuchaz/enigma/mapping/MethodMapping.java index fe4e29b..b0f7ba8 100644 --- a/src/cuchaz/enigma/mapping/MethodMapping.java +++ b/src/cuchaz/enigma/mapping/MethodMapping.java @@ -142,21 +142,27 @@ public class MethodMapping implements Serializable, Comparable return ( m_obfName + m_obfSignature ).compareTo( ( other.m_obfName + other.m_obfSignature ) ); } - public void renameObfClasses( final Map nameMap ) + public boolean renameObfClass( final String oldObfClassName, final String newObfClassName ) { // rename obf classes in the signature - m_obfSignature = SignatureUpdater.update( m_obfSignature, new ClassNameUpdater( ) + String newSignature = SignatureUpdater.update( m_obfSignature, new ClassNameUpdater( ) { @Override public String update( String className ) { - String newName = nameMap.get( className ); - if( newName != null ) + if( className.equals( oldObfClassName ) ) { - return newName; + return newObfClassName; } return className; } } ); + + if( newSignature != m_obfSignature ) + { + m_obfSignature = newSignature; + return true; + } + return false; } } -- cgit v1.2.3