summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/MethodMapping.java
diff options
context:
space:
mode:
authorGravatar jeff2014-07-30 23:43:09 -0400
committerGravatar jeff2014-07-30 23:43:09 -0400
commit4349d22cc8abf5ec74075dde1b45c5f2f8679bbf (patch)
tree6200f39f3539e2def5010078200592141498be33 /src/cuchaz/enigma/mapping/MethodMapping.java
parentforgot to apply copyright notices (diff)
downloadenigma-fork-4349d22cc8abf5ec74075dde1b45c5f2f8679bbf.tar.gz
enigma-fork-4349d22cc8abf5ec74075dde1b45c5f2f8679bbf.tar.xz
enigma-fork-4349d22cc8abf5ec74075dde1b45c5f2f8679bbf.zip
switched to line-by-line mergable, human-readable file format for mappings
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;
14import java.util.Map; 14import java.util.Map;
15import java.util.TreeMap; 15import java.util.TreeMap;
16 16
17public class MethodIndex implements Serializable 17public 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();