diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/excessiveLambdaUsage/beforeArraySetAllCastString.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/excessiveLambdaUsage/beforeArraySetAllCastString.java new file mode 100644 index 000000000000..52af99641a5c --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/excessiveLambdaUsage/beforeArraySetAllCastString.java @@ -0,0 +1,8 @@ +// "Use 'fill' method without lambda" "false" +import java.util.Arrays; + +class Test { + public void test(String[] arr, Object[] arr2) { + Arrays.setAll(String, x -> (String)(arr2[x])); + } +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ExpressionUtils.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ExpressionUtils.java index e13a35605dd8..837e9cd15bbe 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ExpressionUtils.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ExpressionUtils.java @@ -185,7 +185,8 @@ public class ExpressionUtils { return false; } final PsiType type = castType.getType(); - return TypeUtils.typeEquals(CommonClassNames.JAVA_LANG_STRING, type); + return TypeUtils.typeEquals(CommonClassNames.JAVA_LANG_STRING, type) && + isEvaluatedAtCompileTime(typeCastExpression.getOperand()); } return false; }