DeclareCollectionAsInterfaceInspection: don't pass null to quick fix to avoid NPE

This commit is contained in:
peter
2018-08-17 15:14:47 +02:00
parent 0c86afaca4
commit 044585698b
2 changed files with 12 additions and 12 deletions
@@ -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<PsiClass> 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);
}
}
@@ -80,3 +80,11 @@ public class DeclareCollectionAsInterface
}
}
}
class Labeling<T> {
private Map<T, HashSet<Integer>> myLabels;
void addLabel(T node, HashSet<Integer> label){ // no warning on 'HashSet'
myLabels.put<error descr="'put(T, java.util.HashSet<java.lang.Integer>)' in 'java.util.Map' cannot be applied to '(java.util.HashSet<java.lang.Integer>, T)'">(label, node)</error>;
}
}