diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/abstraction/DeclareCollectionAsInterfaceInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/abstraction/DeclareCollectionAsInterfaceInspection.java index 4aee0a118f96..1ba0afb8b77c 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/abstraction/DeclareCollectionAsInterfaceInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/abstraction/DeclareCollectionAsInterfaceInspection.java @@ -92,7 +92,7 @@ public class DeclareCollectionAsInterfaceInspection extends BaseInspection { private final String typeString; - DeclareCollectionAsInterfaceFix(String typeString) { + DeclareCollectionAsInterfaceFix(@NotNull String typeString) { this.typeString = typeString; } @@ -215,17 +215,9 @@ public class DeclareCollectionAsInterfaceInspection extends BaseInspection { final List weaklingList = new ArrayList<>(weaklings); final PsiClass objectClass = javaLangObject.resolve(); weaklingList.remove(objectClass); - if (weaklingList.isEmpty()) { - final String typeText = type.getCanonicalText(); - final String interfaceText = CollectionUtils.getInterfaceForClass(typeText); - if (interfaceText == null) { - return; - } - registerError(nameElement, interfaceText); - } - else { - final PsiClass weakling = weaklingList.get(0); - final String qualifiedName = weakling.getQualifiedName(); + String qualifiedName = weaklingList.isEmpty() ? CollectionUtils.getInterfaceForClass(type.getCanonicalText()) + : weaklingList.get(0).getQualifiedName(); + if (qualifiedName != null) { registerError(nameElement, qualifiedName); } } diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/abstraction/declare_collection_as_interface/DeclareCollectionAsInterface.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/abstraction/declare_collection_as_interface/DeclareCollectionAsInterface.java index 8d34f2eb7cc6..aa42548a41b8 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/abstraction/declare_collection_as_interface/DeclareCollectionAsInterface.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/abstraction/declare_collection_as_interface/DeclareCollectionAsInterface.java @@ -80,3 +80,11 @@ public class DeclareCollectionAsInterface } } } + +class Labeling { + private Map> myLabels; + + void addLabel(T node, HashSet label){ // no warning on 'HashSet' + myLabels.put(label, node); + } +}