summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar NebelNidas2024-04-08 14:53:24 +0200
committerGravatar GitHub2024-04-08 13:53:24 +0100
commit6a517c60f9de9907d040d6a18972a1dcd1653aa1 (patch)
tree4c92c3008212b4fe25dc9a3238ebbb9e3e522891
parentfix NoSuchFileException when exporting sources (not jar) (#494) (diff)
downloadenigma-6a517c60f9de9907d040d6a18972a1dcd1653aa1.tar.gz
enigma-6a517c60f9de9907d040d6a18972a1dcd1653aa1.tar.xz
enigma-6a517c60f9de9907d040d6a18972a1dcd1653aa1.zip
Invert Mapping-IO Proguard mappings to mirror legacy behavior (#542)
* Invert Proguard data read from / written by Mapping-IO to mirror legacy behavior * Fix code style
-rw-r--r--enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/MappingFormat.java23
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 aeac9db4..56b36e06 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;
19import cuchaz.enigma.analysis.index.JarIndex; 19import cuchaz.enigma.analysis.index.JarIndex;
20import cuchaz.enigma.translation.mapping.EntryMapping; 20import cuchaz.enigma.translation.mapping.EntryMapping;
21import cuchaz.enigma.translation.mapping.MappingDelta; 21import cuchaz.enigma.translation.mapping.MappingDelta;
22import cuchaz.enigma.translation.mapping.MappingOperations;
22import cuchaz.enigma.translation.mapping.serde.enigma.EnigmaMappingsReader; 23import cuchaz.enigma.translation.mapping.serde.enigma.EnigmaMappingsReader;
23import cuchaz.enigma.translation.mapping.serde.enigma.EnigmaMappingsWriter; 24import cuchaz.enigma.translation.mapping.serde.enigma.EnigmaMappingsWriter;
24import cuchaz.enigma.translation.mapping.serde.proguard.ProguardMappingsReader; 25import 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 }