diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/MismatchedArrayReadWriteInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/MismatchedArrayReadWriteInspection.java index 71b75d0f785e..054c6622e169 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/MismatchedArrayReadWriteInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/MismatchedArrayReadWriteInspection.java @@ -298,8 +298,9 @@ public class MismatchedArrayReadWriteInspection extends BaseInspection { } } else if (CommonClassNames.JAVA_UTIL_ARRAYS.equals(qualifiedName)) { - if ("fill".equals(methodName) || "parallelPrefix".equals(methodName) || "parallelSetAll".equals(methodName) || - "parallelSort".equals(methodName) || "setAll".equals(methodName) || "sort".equals(methodName)) { + if (("fill".equals(methodName) || "parallelPrefix".equals(methodName) || "parallelSetAll".equals(methodName) || + "parallelSort".equals(methodName) || "setAll".equals(methodName) || "sort".equals(methodName)) && + PsiTreeUtil.isAncestor(expressionList.getExpressions()[0], expression, false)) { myWritten = true; } else { diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/mismatched_array_read_write/MismatchedArrayReadWrite.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/mismatched_array_read_write/MismatchedArrayReadWrite.java index 5226c1bc66e0..14623b4165b2 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/mismatched_array_read_write/MismatchedArrayReadWrite.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/mismatched_array_read_write/MismatchedArrayReadWrite.java @@ -84,6 +84,12 @@ public class MismatchedArrayReadWrite { allResults[row] = new int[9]; } } + + void fillSecondArg(int[][] data) { + int[] arr = new int[3]; + arr[0] = 0; + Arrays.fill(data, arr); + } } class Test{ public void bar(){