summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/MappingsReader.java
diff options
context:
space:
mode:
authorGravatar jeff2014-08-28 00:56:31 -0400
committerGravatar jeff2014-08-28 00:56:31 -0400
commit392f63d073f78e0abb488ead6e3f458a7bb0f818 (patch)
tree6609de66c80ca0dd9a8ae8d272752870ff93c4b0 /src/cuchaz/enigma/mapping/MappingsReader.java
parentadd more checking to catch duplicate mappings on load (diff)
downloadenigma-fork-392f63d073f78e0abb488ead6e3f458a7bb0f818.tar.gz
enigma-fork-392f63d073f78e0abb488ead6e3f458a7bb0f818.tar.xz
enigma-fork-392f63d073f78e0abb488ead6e3f458a7bb0f818.zip
fixed issue with method signatures in default package
repackaged for 0.4.2 beta
Diffstat (limited to 'src/cuchaz/enigma/mapping/MappingsReader.java')
-rw-r--r--src/cuchaz/enigma/mapping/MappingsReader.java30
1 files changed, 26 insertions, 4 deletions
diff --git a/src/cuchaz/enigma/mapping/MappingsReader.java b/src/cuchaz/enigma/mapping/MappingsReader.java
index 5570721..9f42b42 100644
--- a/src/cuchaz/enigma/mapping/MappingsReader.java
+++ b/src/cuchaz/enigma/mapping/MappingsReader.java
@@ -21,6 +21,7 @@ import com.google.common.collect.Queues;
21 21
22import cuchaz.enigma.Constants; 22import cuchaz.enigma.Constants;
23import cuchaz.enigma.Util; 23import cuchaz.enigma.Util;
24import cuchaz.enigma.mapping.SignatureUpdater.ClassNameUpdater;
24 25
25public class MappingsReader 26public class MappingsReader
26{ 27{
@@ -152,12 +153,12 @@ public class MappingsReader
152 private ClassMapping readClass( Scanner scanner ) 153 private ClassMapping readClass( Scanner scanner )
153 { 154 {
154 return new ClassMapping( 155 return new ClassMapping(
155 moveOutOfDefaultPackage( scanner.next(), Constants.NonePackage ), 156 moveClassOutOfDefaultPackage( scanner.next(), Constants.NonePackage ),
156 moveOutOfDefaultPackage( scanner.next(), Constants.NonePackage ) 157 moveClassOutOfDefaultPackage( scanner.next(), Constants.NonePackage )
157 ); 158 );
158 } 159 }
159 160
160 private String moveOutOfDefaultPackage( String className, String newPackageName ) 161 private String moveClassOutOfDefaultPackage( String className, String newPackageName )
161 { 162 {
162 ClassEntry classEntry = new ClassEntry( className ); 163 ClassEntry classEntry = new ClassEntry( className );
163 if( classEntry.isInDefaultPackage() ) 164 if( classEntry.isInDefaultPackage() )
@@ -174,6 +175,27 @@ public class MappingsReader
174 175
175 private MethodMapping readMethod( Scanner scanner ) 176 private MethodMapping readMethod( Scanner scanner )
176 { 177 {
177 return new MethodMapping( scanner.next(), scanner.next(), scanner.next(), scanner.next() ); 178 return new MethodMapping(
179 scanner.next(), scanner.next(),
180 moveSignatureOutOfDefaultPackage( scanner.next(), Constants.NonePackage ),
181 moveSignatureOutOfDefaultPackage( scanner.next(), Constants.NonePackage )
182 );
183 }
184
185 private String moveSignatureOutOfDefaultPackage( String signature, final String newPackageName )
186 {
187 return SignatureUpdater.update( signature, new ClassNameUpdater( )
188 {
189 @Override
190 public String update( String className )
191 {
192 ClassEntry classEntry = new ClassEntry( className );
193 if( classEntry.isInDefaultPackage() )
194 {
195 return newPackageName + "/" + className;
196 }
197 return className;
198 }
199 } );
178 } 200 }
179} 201}