diff options
| -rw-r--r-- | enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingFormat.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingFormat.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingFormat.java index aeac9db..56b36e0 100644 --- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingFormat.java +++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingFormat.java | |||
| @@ -19,6 +19,7 @@ import cuchaz.enigma.ProgressListener; | |||
| 19 | import cuchaz.enigma.analysis.index.JarIndex; | 19 | import cuchaz.enigma.analysis.index.JarIndex; |
| 20 | import cuchaz.enigma.translation.mapping.EntryMapping; | 20 | import cuchaz.enigma.translation.mapping.EntryMapping; |
| 21 | import cuchaz.enigma.translation.mapping.MappingDelta; | 21 | import cuchaz.enigma.translation.mapping.MappingDelta; |
| 22 | import cuchaz.enigma.translation.mapping.MappingOperations; | ||
| 22 | import cuchaz.enigma.translation.mapping.serde.enigma.EnigmaMappingsReader; | 23 | import cuchaz.enigma.translation.mapping.serde.enigma.EnigmaMappingsReader; |
| 23 | import cuchaz.enigma.translation.mapping.serde.enigma.EnigmaMappingsWriter; | 24 | import cuchaz.enigma.translation.mapping.serde.enigma.EnigmaMappingsWriter; |
| 24 | import cuchaz.enigma.translation.mapping.serde.proguard.ProguardMappingsReader; | 25 | import cuchaz.enigma.translation.mapping.serde.proguard.ProguardMappingsReader; |
| @@ -77,6 +78,10 @@ public enum MappingFormat { | |||
| 77 | } | 78 | } |
| 78 | 79 | ||
| 79 | try { | 80 | try { |
| 81 | if (this == PROGUARD) { | ||
| 82 | mappings = MappingOperations.invert(mappings); | ||
| 83 | } | ||
| 84 | |||
| 80 | VisitableMappingTree tree = MappingIoConverter.toMappingIo(mappings, progressListener); | 85 | VisitableMappingTree tree = MappingIoConverter.toMappingIo(mappings, progressListener); |
| 81 | progressListener.init(1, I18n.translate("progress.mappings.writing")); | 86 | progressListener.init(1, I18n.translate("progress.mappings.writing")); |
| 82 | progressListener.step(1, null); // Reset message | 87 | progressListener.step(1, null); // Reset message |
| @@ -115,15 +120,31 @@ public enum MappingFormat { | |||
| 115 | 120 | ||
| 116 | VisitableMappingTree mappingTree = new MemoryMappingTree(); | 121 | VisitableMappingTree mappingTree = new MemoryMappingTree(); |
| 117 | MappingReader.read(path, mappingIoCounterpart, mappingTree); | 122 | MappingReader.read(path, mappingIoCounterpart, mappingTree); |
| 118 | return MappingIoConverter.fromMappingIo(mappingTree, progressListener, index); | 123 | EntryTree<EntryMapping> mappings = MappingIoConverter.fromMappingIo(mappingTree, progressListener, index); |
| 124 | |||
| 125 | return this == PROGUARD ? MappingOperations.invert(mappings) : mappings; | ||
| 119 | } | 126 | } |
| 120 | 127 | ||
| 128 | /** | ||
| 129 | * @return Enigma's native writer for the format, or {@code null} if none exists. | ||
| 130 | * | ||
| 131 | * @deprecated Use {@link #isWritable()} and {@link #write(EntryTree, Path, ProgressListener, MappingSaveParameters)} instead, | ||
| 132 | * which take the new Mapping-IO equivalents (and eventual replacements) into account. | ||
| 133 | */ | ||
| 121 | @Nullable | 134 | @Nullable |
| 135 | @Deprecated | ||
| 122 | public MappingsWriter getWriter() { | 136 | public MappingsWriter getWriter() { |
| 123 | return writer; | 137 | return writer; |
| 124 | } | 138 | } |
| 125 | 139 | ||
| 140 | /** | ||
| 141 | * @return Enigma's native reader for the format, or {@code null} if none exists. | ||
| 142 | * | ||
| 143 | * @deprecated Use {@link #isReadable()} and {@link #read(Path, ProgressListener, MappingSaveParameters, JarIndex)} instead, | ||
| 144 | * which take the new Mapping-IO equivalents (and eventual replacements) into account. | ||
| 145 | */ | ||
| 126 | @Nullable | 146 | @Nullable |
| 147 | @Deprecated | ||
| 127 | public MappingsReader getReader() { | 148 | public MappingsReader getReader() { |
| 128 | return reader; | 149 | return reader; |
| 129 | } | 150 | } |