From 5f70a238bcf3d16843a18e0b04ff37e4e254712a Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Mon, 17 Oct 2016 11:28:19 +0200 Subject: [PATCH] IG: use isAssignableFrom() with substitutor instead of convertible check --- .../siyeh/ig/threading/AtomicFieldUpdaterIssuesInspection.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/threading/AtomicFieldUpdaterIssuesInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/threading/AtomicFieldUpdaterIssuesInspection.java index c3739d4bf34b..b72a0e62f291 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/threading/AtomicFieldUpdaterIssuesInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/threading/AtomicFieldUpdaterIssuesInspection.java @@ -129,7 +129,8 @@ public class AtomicFieldUpdaterIssuesInspection extends BaseInspection { } final PsiClassObjectAccessExpression objectAccessExpression = (PsiClassObjectAccessExpression)argument2; final PsiType type = objectAccessExpression.getOperand().getType(); - if (!TypeUtils.areConvertible(type, field.getType())) { + final PsiType substFieldType = classType.resolveGenerics().getSubstitutor().substitute(field.getType()); + if (!substFieldType.isAssignableFrom(type)) { registerError(lastArgument, InspectionGadgetsBundle.message("field.incorrect.type.problem.descriptor", fieldName, type.getPresentableText())); return;