From 362bcae0fc37462c6d08abc2a34a89636252b89a Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 15 Jun 2018 20:18:03 +0300 Subject: [PATCH] instance variable initialization: don't warn on nullables (IDEA-120189) --- .../InstanceVariableInitializationInspection.java | 4 ++++ .../initialization/field/InstanceVariableInitialization.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/initialization/InstanceVariableInitializationInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/initialization/InstanceVariableInitializationInspection.java index dce52598a8d4..31b3b4488b26 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/initialization/InstanceVariableInitializationInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/initialization/InstanceVariableInitializationInspection.java @@ -15,6 +15,7 @@ */ package com.siyeh.ig.initialization; +import com.intellij.codeInsight.NullableNotNullManager; import com.intellij.codeInsight.daemon.ImplicitUsageProvider; import com.intellij.codeInspection.ui.SingleCheckboxOptionsPanel; import com.intellij.openapi.extensions.Extensions; @@ -93,6 +94,9 @@ public class InstanceVariableInitializationInspection extends BaseInspection { if (field.getInitializer() != null) { return; } + if (NullableNotNullManager.isNullable(field)) { + return; + } if (m_ignorePrimitives) { final PsiType fieldType = field.getType(); if (ClassUtils.isPrimitive(fieldType)) { diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/field/InstanceVariableInitialization.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/field/InstanceVariableInitialization.java index e5ce63603346..453228e11e5f 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/field/InstanceVariableInitialization.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/field/InstanceVariableInitialization.java @@ -99,4 +99,8 @@ class D { D() { for (Object o : l = new java.util.ArrayList()) {} } +} +class WithNullable { + @org.jetbrains.annotations.Nullable + private String str; } \ No newline at end of file