From 65879b77668b91e15a1c0029615aae0206f932c8 Mon Sep 17 00:00:00 2001 From: Thog Date: Mon, 31 Oct 2016 14:03:05 +0100 Subject: Fix NPE with converter when computeClassMatches --- .../enigma/mapping/MappingsEnigmaWriter.java | 33 ++++++++++++---------- 1 file 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 { } // Remove dropped mappings - List droppedClassMappings = new ArrayList<>(mappings.getPreviousState().classes()); - List classMappings = new ArrayList<>(mappings.classes()); - droppedClassMappings.removeAll(classMappings); - for (ClassMapping classMapping : droppedClassMappings) + if (mappings.getPreviousState() != null) { - File obFile = new File(target, classMapping.getObfFullName() + ".mapping"); - File result; - if (classMapping.getDeobfName() == null) - result = obFile; - else + List droppedClassMappings = new ArrayList<>(mappings.getPreviousState().classes()); + List classMappings = new ArrayList<>(mappings.classes()); + droppedClassMappings.removeAll(classMappings); + for (ClassMapping classMapping : droppedClassMappings) { - // Make sure that old version of the file doesn't exist - if (obFile.exists()) - obFile.delete(); - result = new File(target, classMapping.getDeobfName() + ".mapping"); + File obFile = new File(target, classMapping.getObfFullName() + ".mapping"); + File result; + if (classMapping.getDeobfName() == null) + result = obFile; + else + { + // Make sure that old version of the file doesn't exist + if (obFile.exists()) + obFile.delete(); + result = new File(target, classMapping.getDeobfName() + ".mapping"); + } + if (result.exists()) + result.delete(); } - if (result.exists()) - result.delete(); } } -- cgit v1.2.3