diff options
Diffstat (limited to 'src/cuchaz/enigma/mapping/ClassMapping.java')
| -rw-r--r-- | src/cuchaz/enigma/mapping/ClassMapping.java | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/cuchaz/enigma/mapping/ClassMapping.java b/src/cuchaz/enigma/mapping/ClassMapping.java index ee02781..e084d4d 100644 --- a/src/cuchaz/enigma/mapping/ClassMapping.java +++ b/src/cuchaz/enigma/mapping/ClassMapping.java | |||
| @@ -117,6 +117,16 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping> | |||
| 117 | return m_innerClassesByDeobf.get( deobfName ); | 117 | return m_innerClassesByDeobf.get( deobfName ); |
| 118 | } | 118 | } |
| 119 | 119 | ||
| 120 | public ClassMapping getInnerClassByDeobfThenObf( String name ) | ||
| 121 | { | ||
| 122 | ClassMapping classMapping = getInnerClassByDeobf( name ); | ||
| 123 | if( classMapping == null ) | ||
| 124 | { | ||
| 125 | classMapping = getInnerClassByObf( name ); | ||
| 126 | } | ||
| 127 | return classMapping; | ||
| 128 | } | ||
| 129 | |||
| 120 | public String getObfInnerClassName( String deobfName ) | 130 | public String getObfInnerClassName( String deobfName ) |
| 121 | { | 131 | { |
| 122 | assert( isSimpleClassName( deobfName ) ); | 132 | assert( isSimpleClassName( deobfName ) ); |
| @@ -392,9 +402,18 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping> | |||
| 392 | buf.append( "\n" ); | 402 | buf.append( "\n" ); |
| 393 | } | 403 | } |
| 394 | buf.append( "Methods:\n" ); | 404 | buf.append( "Methods:\n" ); |
| 395 | for( MethodMapping methodIndex : m_methodsByObf.values() ) | 405 | for( MethodMapping methodMapping : m_methodsByObf.values() ) |
| 396 | { | 406 | { |
| 397 | buf.append( methodIndex.toString() ); | 407 | buf.append( methodMapping.toString() ); |
| 408 | buf.append( "\n" ); | ||
| 409 | } | ||
| 410 | buf.append( "Inner Classes:\n" ); | ||
| 411 | for( ClassMapping classMapping : m_innerClassesByObf.values() ) | ||
| 412 | { | ||
| 413 | buf.append( "\t" ); | ||
| 414 | buf.append( classMapping.getObfName() ); | ||
| 415 | buf.append( " <-> " ); | ||
| 416 | buf.append( classMapping.getDeobfName() ); | ||
| 398 | buf.append( "\n" ); | 417 | buf.append( "\n" ); |
| 399 | } | 418 | } |
| 400 | return buf.toString(); | 419 | return buf.toString(); |
| @@ -403,6 +422,11 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping> | |||
| 403 | @Override | 422 | @Override |
| 404 | public int compareTo( ClassMapping other ) | 423 | public int compareTo( ClassMapping other ) |
| 405 | { | 424 | { |
| 425 | // sort by a, b, c, ... aa, ab, etc | ||
| 426 | if( m_obfName.length() != other.m_obfName.length() ) | ||
| 427 | { | ||
| 428 | return m_obfName.length() - other.m_obfName.length(); | ||
| 429 | } | ||
| 406 | return m_obfName.compareTo( other.m_obfName ); | 430 | return m_obfName.compareTo( other.m_obfName ); |
| 407 | } | 431 | } |
| 408 | 432 | ||