decompiler: fixed NPE with disabled line mapping
authorEgor.Ushakov <egor.ushakov@jetbrains.com>
Mon, 19 Jan 2015 13:28:07 +0000 (16:28 +0300)
committerEgor.Ushakov <egor.ushakov@jetbrains.com>
Mon, 19 Jan 2015 13:48:13 +0000 (16:48 +0300)
plugins/java-decompiler/plugin/src/org/jetbrains/java/decompiler/IdeaDecompiler.java

index 93650c2da4af9efbbc2a369af257c08f95f4d725..72e0f4f065123dddff51289f7f34b4fa5bd98da1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2014 JetBrains s.r.o.
+ * Copyright 2000-2015 JetBrains s.r.o.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -183,8 +183,9 @@ public class IdeaDecompiler extends ClassFileDecompilers.Light {
       }
       decompiler.decompileContext();
 
-      file.putUserData(LineNumbersMapping.LINE_NUMBERS_MAPPING_KEY,
-                       new ExactMatchLineNumbersMapping(saver.myMapping));
+      if (saver.myMapping != null) {
+        file.putUserData(LineNumbersMapping.LINE_NUMBERS_MAPPING_KEY, new ExactMatchLineNumbersMapping(saver.myMapping));
+      }
 
       return saver.myResult;
     }
@@ -344,7 +345,7 @@ public class IdeaDecompiler extends ClassFileDecompilers.Light {
   private static class ExactMatchLineNumbersMapping implements LineNumbersMapping {
     private int[] myMapping;
 
-    private ExactMatchLineNumbersMapping(int[] mapping) {
+    private ExactMatchLineNumbersMapping(@NotNull int[] mapping) {
       myMapping = mapping;
     }