diff options
Diffstat (limited to '')
| -rw-r--r-- | src/cuchaz/enigma/mapping/MethodMapping.java (renamed from src/cuchaz/enigma/mapping/MethodIndex.java) | 49 |
1 files changed, 30 insertions, 19 deletions
diff --git a/src/cuchaz/enigma/mapping/MethodIndex.java b/src/cuchaz/enigma/mapping/MethodMapping.java index f965355..f2bc54d 100644 --- a/src/cuchaz/enigma/mapping/MethodIndex.java +++ b/src/cuchaz/enigma/mapping/MethodMapping.java | |||
| @@ -14,7 +14,7 @@ import java.io.Serializable; | |||
| 14 | import java.util.Map; | 14 | import java.util.Map; |
| 15 | import java.util.TreeMap; | 15 | import java.util.TreeMap; |
| 16 | 16 | ||
| 17 | public class MethodIndex implements Serializable | 17 | public class MethodMapping implements Serializable |
| 18 | { | 18 | { |
| 19 | private static final long serialVersionUID = -4409570216084263978L; | 19 | private static final long serialVersionUID = -4409570216084263978L; |
| 20 | 20 | ||
| @@ -22,15 +22,16 @@ public class MethodIndex implements Serializable | |||
| 22 | private String m_deobfName; | 22 | private String m_deobfName; |
| 23 | private String m_obfSignature; | 23 | private String m_obfSignature; |
| 24 | private String m_deobfSignature; | 24 | private String m_deobfSignature; |
| 25 | private Map<Integer,ArgumentIndex> m_arguments; | 25 | private Map<Integer,ArgumentMapping> m_arguments; |
| 26 | 26 | ||
| 27 | public MethodIndex( String obfName, String obfSignature, String deobfName, String deobfSignature ) | 27 | // NOTE: this argument order is important for the MethodReader/MethodWriter |
| 28 | public MethodMapping( String obfName, String deobfName, String obfSignature, String deobfSignature ) | ||
| 28 | { | 29 | { |
| 29 | m_obfName = obfName; | 30 | m_obfName = obfName; |
| 30 | m_deobfName = deobfName; | 31 | m_deobfName = deobfName; |
| 31 | m_obfSignature = obfSignature; | 32 | m_obfSignature = obfSignature; |
| 32 | m_deobfSignature = deobfSignature; | 33 | m_deobfSignature = deobfSignature; |
| 33 | m_arguments = new TreeMap<Integer,ArgumentIndex>(); | 34 | m_arguments = new TreeMap<Integer,ArgumentMapping>(); |
| 34 | } | 35 | } |
| 35 | 36 | ||
| 36 | public String getObfName( ) | 37 | public String getObfName( ) |
| @@ -61,12 +62,22 @@ public class MethodIndex implements Serializable | |||
| 61 | m_deobfSignature = val; | 62 | m_deobfSignature = val; |
| 62 | } | 63 | } |
| 63 | 64 | ||
| 65 | public Iterable<ArgumentMapping> arguments( ) | ||
| 66 | { | ||
| 67 | return m_arguments.values(); | ||
| 68 | } | ||
| 69 | |||
| 70 | protected void addArgumentMapping( ArgumentMapping argumentMapping ) | ||
| 71 | { | ||
| 72 | m_arguments.put( argumentMapping.getIndex(), argumentMapping ); | ||
| 73 | } | ||
| 74 | |||
| 64 | public String getObfArgumentName( int index ) | 75 | public String getObfArgumentName( int index ) |
| 65 | { | 76 | { |
| 66 | ArgumentIndex argumentIndex = m_arguments.get( index ); | 77 | ArgumentMapping argumentMapping = m_arguments.get( index ); |
| 67 | if( argumentIndex != null ) | 78 | if( argumentMapping != null ) |
| 68 | { | 79 | { |
| 69 | return argumentIndex.getObfName(); | 80 | return argumentMapping.getName(); |
| 70 | } | 81 | } |
| 71 | 82 | ||
| 72 | return null; | 83 | return null; |
| @@ -74,26 +85,26 @@ public class MethodIndex implements Serializable | |||
| 74 | 85 | ||
| 75 | public String getDeobfArgumentName( int index ) | 86 | public String getDeobfArgumentName( int index ) |
| 76 | { | 87 | { |
| 77 | ArgumentIndex argumentIndex = m_arguments.get( index ); | 88 | ArgumentMapping argumentMapping = m_arguments.get( index ); |
| 78 | if( argumentIndex != null ) | 89 | if( argumentMapping != null ) |
| 79 | { | 90 | { |
| 80 | return argumentIndex.getDeobfName(); | 91 | return argumentMapping.getName(); |
| 81 | } | 92 | } |
| 82 | 93 | ||
| 83 | return null; | 94 | return null; |
| 84 | } | 95 | } |
| 85 | 96 | ||
| 86 | public void setArgumentName( int index, String obfName, String deobfName ) | 97 | public void setArgumentName( int index, String name ) |
| 87 | { | 98 | { |
| 88 | ArgumentIndex argumentIndex = m_arguments.get( index ); | 99 | ArgumentMapping argumentMapping = m_arguments.get( index ); |
| 89 | if( argumentIndex == null ) | 100 | if( argumentMapping == null ) |
| 90 | { | 101 | { |
| 91 | argumentIndex = new ArgumentIndex( obfName, deobfName ); | 102 | argumentMapping = new ArgumentMapping( index, name ); |
| 92 | m_arguments.put( index, argumentIndex ); | 103 | m_arguments.put( index, argumentMapping ); |
| 93 | } | 104 | } |
| 94 | else | 105 | else |
| 95 | { | 106 | { |
| 96 | argumentIndex.setDeobfName( deobfName ); | 107 | argumentMapping.setName( name ); |
| 97 | } | 108 | } |
| 98 | } | 109 | } |
| 99 | 110 | ||
| @@ -112,12 +123,12 @@ public class MethodIndex implements Serializable | |||
| 112 | buf.append( m_deobfSignature ); | 123 | buf.append( m_deobfSignature ); |
| 113 | buf.append( "\n" ); | 124 | buf.append( "\n" ); |
| 114 | buf.append( "\tArguments:\n" ); | 125 | buf.append( "\tArguments:\n" ); |
| 115 | for( ArgumentIndex argumentIndex : m_arguments.values() ) | 126 | for( ArgumentMapping argumentMapping : m_arguments.values() ) |
| 116 | { | 127 | { |
| 117 | buf.append( "\t\t" ); | 128 | buf.append( "\t\t" ); |
| 118 | buf.append( argumentIndex.getObfName() ); | 129 | buf.append( argumentMapping.getIndex() ); |
| 119 | buf.append( " <-> " ); | 130 | buf.append( " <-> " ); |
| 120 | buf.append( argumentIndex.getDeobfName() ); | 131 | buf.append( argumentMapping.getName() ); |
| 121 | buf.append( "\n" ); | 132 | buf.append( "\n" ); |
| 122 | } | 133 | } |
| 123 | return buf.toString(); | 134 | return buf.toString(); |