diff options
| author | 2014-08-28 00:56:31 -0400 | |
|---|---|---|
| committer | 2014-08-28 00:56:31 -0400 | |
| commit | 392f63d073f78e0abb488ead6e3f458a7bb0f818 (patch) | |
| tree | 6609de66c80ca0dd9a8ae8d272752870ff93c4b0 /src/cuchaz/enigma/mapping/MappingsReader.java | |
| parent | add more checking to catch duplicate mappings on load (diff) | |
| download | enigma-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.java | 30 |
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 | ||
| 22 | import cuchaz.enigma.Constants; | 22 | import cuchaz.enigma.Constants; |
| 23 | import cuchaz.enigma.Util; | 23 | import cuchaz.enigma.Util; |
| 24 | import cuchaz.enigma.mapping.SignatureUpdater.ClassNameUpdater; | ||
| 24 | 25 | ||
| 25 | public class MappingsReader | 26 | public 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 | } |