summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/ClassMapping.java
diff options
context:
space:
mode:
authorGravatar jeff2014-09-26 00:33:07 -0400
committerGravatar jeff2014-09-26 00:33:07 -0400
commit575447097876b5cf3dfbae8fa1f6f749819e97b8 (patch)
tree50b544e601e295dee5a55e747db85df9d3a25577 /src/cuchaz/enigma/mapping/ClassMapping.java
parentfixed invalid tokens issue (diff)
downloadenigma-fork-575447097876b5cf3dfbae8fa1f6f749819e97b8.tar.gz
enigma-fork-575447097876b5cf3dfbae8fa1f6f749819e97b8.tar.xz
enigma-fork-575447097876b5cf3dfbae8fa1f6f749819e97b8.zip
implemented mark-as-deobfuscated and reset-to-obfuscated
Diffstat (limited to 'src/cuchaz/enigma/mapping/ClassMapping.java')
-rw-r--r--src/cuchaz/enigma/mapping/ClassMapping.java62
1 files changed, 50 insertions, 12 deletions
diff --git a/src/cuchaz/enigma/mapping/ClassMapping.java b/src/cuchaz/enigma/mapping/ClassMapping.java
index b551d71..88106df 100644
--- a/src/cuchaz/enigma/mapping/ClassMapping.java
+++ b/src/cuchaz/enigma/mapping/ClassMapping.java
@@ -79,6 +79,17 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping>
79 } 79 }
80 } 80 }
81 81
82 public void removeInnerClassMapping( ClassMapping classMapping )
83 {
84 boolean obfWasRemoved = m_innerClassesByObf.remove( classMapping.getObfName() ) != null;
85 assert( obfWasRemoved );
86 if( classMapping.getDeobfName() != null )
87 {
88 boolean deobfWasRemoved = m_innerClassesByDeobf.remove( classMapping.getDeobfName() ) != null;
89 assert( deobfWasRemoved );
90 }
91 }
92
82 public ClassMapping getOrCreateInnerClass( String obfName ) 93 public ClassMapping getOrCreateInnerClass( String obfName )
83 { 94 {
84 ClassMapping classMapping = m_innerClassesByObf.get( obfName ); 95 ClassMapping classMapping = m_innerClassesByObf.get( obfName );
@@ -124,11 +135,17 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping>
124 public void setInnerClassName( String obfName, String deobfName ) 135 public void setInnerClassName( String obfName, String deobfName )
125 { 136 {
126 ClassMapping classMapping = getOrCreateInnerClass( obfName ); 137 ClassMapping classMapping = getOrCreateInnerClass( obfName );
127 boolean wasRemoved = m_innerClassesByDeobf.remove( classMapping.getDeobfName() ) != null; 138 if( classMapping.getDeobfName() != null )
128 assert( wasRemoved ); 139 {
140 boolean wasRemoved = m_innerClassesByDeobf.remove( classMapping.getDeobfName() ) != null;
141 assert( wasRemoved );
142 }
129 classMapping.setDeobfName( deobfName ); 143 classMapping.setDeobfName( deobfName );
130 boolean wasAdded = m_innerClassesByDeobf.put( deobfName, classMapping ) == null; 144 if( deobfName != null )
131 assert( wasAdded ); 145 {
146 boolean wasAdded = m_innerClassesByDeobf.put( deobfName, classMapping ) == null;
147 assert( wasAdded );
148 }
132 } 149 }
133 150
134 //// FIELDS //////// 151 //// FIELDS ////////
@@ -176,6 +193,16 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping>
176 assert( deobfWasRemoved ); 193 assert( deobfWasRemoved );
177 } 194 }
178 } 195 }
196
197 public FieldMapping getFieldByObf( String obfName )
198 {
199 return m_fieldsByObf.get( obfName );
200 }
201
202 public FieldMapping getFieldByDeobf( String deobfName )
203 {
204 return m_fieldsByDeobf.get( deobfName );
205 }
179 206
180 public String getObfFieldName( String deobfName ) 207 public String getObfFieldName( String deobfName )
181 { 208 {
@@ -212,8 +239,11 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping>
212 assert( wasRemoved ); 239 assert( wasRemoved );
213 } 240 }
214 fieldMapping.setDeobfName( deobfName ); 241 fieldMapping.setDeobfName( deobfName );
215 boolean wasAdded = m_fieldsByDeobf.put( deobfName, fieldMapping ) == null; 242 if( deobfName != null )
216 assert( wasAdded ); 243 {
244 boolean wasAdded = m_fieldsByDeobf.put( deobfName, fieldMapping ) == null;
245 assert( wasAdded );
246 }
217 } 247 }
218 248
219 //// METHODS //////// 249 //// METHODS ////////
@@ -303,20 +333,28 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping>
303 assert( wasRemoved ); 333 assert( wasRemoved );
304 } 334 }
305 methodMapping.setDeobfName( deobfName ); 335 methodMapping.setDeobfName( deobfName );
306 boolean wasAdded = m_methodsByDeobf.put( getMethodKey( deobfName, obfSignature ), methodMapping ) == null; 336 if( deobfName != null )
307 assert( wasAdded ); 337 {
338 boolean wasAdded = m_methodsByDeobf.put( getMethodKey( deobfName, obfSignature ), methodMapping ) == null;
339 assert( wasAdded );
340 }
308 } 341 }
309 342
310 //// ARGUMENTS //////// 343 //// ARGUMENTS ////////
311 344
312 public void setArgumentName( String obfMethodName, String obfMethodSignature, int argumentIndex, String argumentName ) 345 public void setArgumentName( String obfMethodName, String obfMethodSignature, int argumentIndex, String argumentName )
313 { 346 {
314 MethodMapping methodIndex = m_methodsByObf.get( getMethodKey( obfMethodName, obfMethodSignature ) ); 347 MethodMapping methodMapping = m_methodsByObf.get( getMethodKey( obfMethodName, obfMethodSignature ) );
315 if( methodIndex == null ) 348 if( methodMapping == null )
316 { 349 {
317 methodIndex = createMethodMapping( obfMethodName, obfMethodSignature ); 350 methodMapping = createMethodMapping( obfMethodName, obfMethodSignature );
318 } 351 }
319 methodIndex.setArgumentName( argumentIndex, argumentName ); 352 methodMapping.setArgumentName( argumentIndex, argumentName );
353 }
354
355 public void removeArgumentName( String obfMethodName, String obfMethodSignature, int argumentIndex )
356 {
357 m_methodsByObf.get( getMethodKey( obfMethodName, obfMethodSignature ) ).removeArgumentName( argumentIndex );
320 } 358 }
321 359
322 private MethodMapping createMethodMapping( String obfName, String obfSignature ) 360 private MethodMapping createMethodMapping( String obfName, String obfSignature )