summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/mapping/Mappings.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/mapping/Mappings.java')
-rw-r--r--src/main/java/cuchaz/enigma/mapping/Mappings.java15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/main/java/cuchaz/enigma/mapping/Mappings.java b/src/main/java/cuchaz/enigma/mapping/Mappings.java
index 307b1bd..3ef1be5 100644
--- a/src/main/java/cuchaz/enigma/mapping/Mappings.java
+++ b/src/main/java/cuchaz/enigma/mapping/Mappings.java
@@ -23,6 +23,7 @@ import cuchaz.enigma.throwables.MappingConflict;
23import java.io.File; 23import java.io.File;
24import java.io.IOException; 24import java.io.IOException;
25import java.util.*; 25import java.util.*;
26import java.util.stream.Collectors;
26 27
27public class Mappings { 28public class Mappings {
28 29
@@ -47,10 +48,6 @@ public class Mappings {
47 } 48 }
48 49
49 public void addClassMapping(ClassMapping classMapping) throws MappingConflict { 50 public void addClassMapping(ClassMapping classMapping) throws MappingConflict {
50 if (classMapping.isObfuscated()) {
51 return;
52 }
53
54 if (this.classesByObf.containsKey(classMapping.getObfFullName())) { 51 if (this.classesByObf.containsKey(classMapping.getObfFullName())) {
55 throw new MappingConflict("class", classMapping.getObfFullName(), this.classesByObf.get(classMapping.getObfFullName()).getObfFullName()); 52 throw new MappingConflict("class", classMapping.getObfFullName(), this.classesByObf.get(classMapping.getObfFullName()).getObfFullName());
56 } 53 }
@@ -217,8 +214,14 @@ public class Mappings {
217 214
218 public void savePreviousState() { 215 public void savePreviousState() {
219 this.previousState = new Mappings(this.originMapping); 216 this.previousState = new Mappings(this.originMapping);
220 this.previousState.classesByDeobf = Maps.newHashMap(this.classesByDeobf); 217 this.previousState.classesByDeobf = new HashMap<>();
221 this.previousState.classesByObf = Maps.newHashMap(this.classesByObf); 218 for (Map.Entry<String, ClassMapping> entry : this.classesByDeobf.entrySet()) {
219 this.previousState.classesByDeobf.put(entry.getKey(), entry.getValue().copy());
220 }
221 this.previousState.classesByObf = new HashMap<>();
222 for (Map.Entry<String, ClassMapping> entry : this.classesByObf.entrySet()) {
223 this.previousState.classesByObf.put(entry.getKey(), entry.getValue().copy());
224 }
222 classesByDeobf.values().forEach(ClassMapping::resetDirty); 225 classesByDeobf.values().forEach(ClassMapping::resetDirty);
223 classesByObf.values().forEach(ClassMapping::resetDirty); 226 classesByObf.values().forEach(ClassMapping::resetDirty);
224 } 227 }