summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Thog2016-10-31 14:03:05 +0100
committerGravatar Thog2016-10-31 14:03:05 +0100
commit65879b77668b91e15a1c0029615aae0206f932c8 (patch)
tree7598e612d9788b1e0f9631bad6e694aeb686c14c
parentBREAKING CHANGE: Implement modifier transformer (diff)
downloadenigma-65879b77668b91e15a1c0029615aae0206f932c8.tar.gz
enigma-65879b77668b91e15a1c0029615aae0206f932c8.tar.xz
enigma-65879b77668b91e15a1c0029615aae0206f932c8.zip
Fix NPE with converter when computeClassMatches
-rw-r--r--src/main/java/cuchaz/enigma/mapping/MappingsEnigmaWriter.java33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/main/java/cuchaz/enigma/mapping/MappingsEnigmaWriter.java b/src/main/java/cuchaz/enigma/mapping/MappingsEnigmaWriter.java
index 95896898..c09f4a67 100644
--- a/src/main/java/cuchaz/enigma/mapping/MappingsEnigmaWriter.java
+++ b/src/main/java/cuchaz/enigma/mapping/MappingsEnigmaWriter.java
@@ -59,24 +59,27 @@ public class MappingsEnigmaWriter {
59 } 59 }
60 60
61 // Remove dropped mappings 61 // Remove dropped mappings
62 List<ClassMapping> droppedClassMappings = new ArrayList<>(mappings.getPreviousState().classes()); 62 if (mappings.getPreviousState() != null)
63 List<ClassMapping> classMappings = new ArrayList<>(mappings.classes());
64 droppedClassMappings.removeAll(classMappings);
65 for (ClassMapping classMapping : droppedClassMappings)
66 { 63 {
67 File obFile = new File(target, classMapping.getObfFullName() + ".mapping"); 64 List<ClassMapping> droppedClassMappings = new ArrayList<>(mappings.getPreviousState().classes());
68 File result; 65 List<ClassMapping> classMappings = new ArrayList<>(mappings.classes());
69 if (classMapping.getDeobfName() == null) 66 droppedClassMappings.removeAll(classMappings);
70 result = obFile; 67 for (ClassMapping classMapping : droppedClassMappings)
71 else
72 { 68 {
73 // Make sure that old version of the file doesn't exist 69 File obFile = new File(target, classMapping.getObfFullName() + ".mapping");
74 if (obFile.exists()) 70 File result;
75 obFile.delete(); 71 if (classMapping.getDeobfName() == null)
76 result = new File(target, classMapping.getDeobfName() + ".mapping"); 72 result = obFile;
73 else
74 {
75 // Make sure that old version of the file doesn't exist
76 if (obFile.exists())
77 obFile.delete();
78 result = new File(target, classMapping.getDeobfName() + ".mapping");
79 }
80 if (result.exists())
81 result.delete();
77 } 82 }
78 if (result.exists())
79 result.delete();
80 } 83 }
81 } 84 }
82 85