summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/MappingsRenamer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/mapping/MappingsRenamer.java')
-rw-r--r--src/cuchaz/enigma/mapping/MappingsRenamer.java25
1 files changed, 8 insertions, 17 deletions
diff --git a/src/cuchaz/enigma/mapping/MappingsRenamer.java b/src/cuchaz/enigma/mapping/MappingsRenamer.java
index f84b248..49e7b5f 100644
--- a/src/cuchaz/enigma/mapping/MappingsRenamer.java
+++ b/src/cuchaz/enigma/mapping/MappingsRenamer.java
@@ -46,14 +46,15 @@ public class MappingsRenamer
46 } 46 }
47 else 47 else
48 { 48 {
49 boolean wasRemoved = m_mappings.m_classesByDeobf.remove( classMapping.getDeobfName() ) != null; 49 if( classMapping.getDeobfName() != null )
50 assert( wasRemoved ); 50 {
51 boolean wasRemoved = m_mappings.m_classesByDeobf.remove( classMapping.getDeobfName() ) != null;
52 assert( wasRemoved );
53 }
51 classMapping.setDeobfName( deobfName ); 54 classMapping.setDeobfName( deobfName );
52 boolean wasAdded = m_mappings.m_classesByDeobf.put( deobfName, classMapping ) == null; 55 boolean wasAdded = m_mappings.m_classesByDeobf.put( deobfName, classMapping ) == null;
53 assert( wasAdded ); 56 assert( wasAdded );
54 } 57 }
55
56 updateDeobfMethodSignatures();
57 } 58 }
58 59
59 public void setFieldName( FieldEntry obf, String deobfName ) 60 public void setFieldName( FieldEntry obf, String deobfName )
@@ -76,7 +77,8 @@ public class MappingsRenamer
76 deobfName = NameValidator.validateMethodName( deobfName ); 77 deobfName = NameValidator.validateMethodName( deobfName );
77 for( MethodEntry entry : implementations ) 78 for( MethodEntry entry : implementations )
78 { 79 {
79 MethodEntry targetEntry = new MethodEntry( entry.getClassEntry(), deobfName, entry.getSignature() ); 80 String deobfSignature = getTranslator( TranslationDirection.Deobfuscating ).translateSignature( obf.getSignature() );
81 MethodEntry targetEntry = new MethodEntry( entry.getClassEntry(), deobfName, deobfSignature );
80 if( m_mappings.containsDeobfMethod( entry.getClassEntry(), deobfName, entry.getSignature() ) || m_index.containsObfMethod( targetEntry ) ) 82 if( m_mappings.containsDeobfMethod( entry.getClassEntry(), deobfName, entry.getSignature() ) || m_index.containsObfMethod( targetEntry ) )
81 { 83 {
82 String deobfClassName = getTranslator( TranslationDirection.Deobfuscating ).translateClass( entry.getClassName() ); 84 String deobfClassName = getTranslator( TranslationDirection.Deobfuscating ).translateClass( entry.getClassName() );
@@ -101,8 +103,7 @@ public class MappingsRenamer
101 } 103 }
102 104
103 ClassMapping classMapping = getOrCreateClassMappingOrInnerClassMapping( obf.getClassEntry() ); 105 ClassMapping classMapping = getOrCreateClassMappingOrInnerClassMapping( obf.getClassEntry() );
104 String deobfSignature = getTranslator( TranslationDirection.Deobfuscating ).translateSignature( obf.getSignature() ); 106 classMapping.setMethodName( obf.getName(), obf.getSignature(), deobfName );
105 classMapping.setMethodNameAndSignature( obf.getName(), obf.getSignature(), deobfName, deobfSignature );
106 } 107 }
107 108
108 public void setArgumentName( ArgumentEntry obf, String deobfName ) 109 public void setArgumentName( ArgumentEntry obf, String deobfName )
@@ -137,8 +138,6 @@ public class MappingsRenamer
137 classMapping = new ClassMapping( obfClassName ); 138 classMapping = new ClassMapping( obfClassName );
138 boolean obfWasAdded = m_mappings.m_classesByObf.put( classMapping.getObfName(), classMapping ) == null; 139 boolean obfWasAdded = m_mappings.m_classesByObf.put( classMapping.getObfName(), classMapping ) == null;
139 assert( obfWasAdded ); 140 assert( obfWasAdded );
140 boolean deobfWasAdded = m_mappings.m_classesByDeobf.put( classMapping.getDeobfName(), classMapping ) == null;
141 assert( deobfWasAdded );
142 } 141 }
143 return classMapping; 142 return classMapping;
144 } 143 }
@@ -153,14 +152,6 @@ public class MappingsRenamer
153 return classMapping; 152 return classMapping;
154 } 153 }
155 154
156 private void updateDeobfMethodSignatures( )
157 {
158 for( ClassMapping classMapping : m_mappings.m_classesByObf.values() )
159 {
160 classMapping.updateDeobfMethodSignatures( getTranslator( TranslationDirection.Deobfuscating ) );
161 }
162 }
163
164 private Translator getTranslator( TranslationDirection direction ) 155 private Translator getTranslator( TranslationDirection direction )
165 { 156 {
166 return m_mappings.getTranslator( m_index.getTranslationIndex(), direction ); 157 return m_mappings.getTranslator( m_index.getTranslationIndex(), direction );