diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/localCanBeFinal/LocalCanBeFinal.java b/java/java-analysis-impl/src/com/intellij/codeInspection/localCanBeFinal/LocalCanBeFinal.java index 6f1f69b01aa3..51250f24e3e4 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/localCanBeFinal/LocalCanBeFinal.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/localCanBeFinal/LocalCanBeFinal.java @@ -265,7 +265,7 @@ public class LocalCanBeFinal extends BaseJavaBatchLocalInspectionTool { } } - if (result.isEmpty()) return null; + if (result.isEmpty() && problems.isEmpty()) return null; for (PsiVariable variable : result) { final PsiIdentifier nameIdentifier = variable.getNameIdentifier(); diff --git a/java/java-tests/testData/inspection/localCanBeFinal/LambdaBody/expected.xml b/java/java-tests/testData/inspection/localCanBeFinal/LambdaBody/expected.xml index 1da1935ad438..889d6bc2624b 100644 --- a/java/java-tests/testData/inspection/localCanBeFinal/LambdaBody/expected.xml +++ b/java/java-tests/testData/inspection/localCanBeFinal/LambdaBody/expected.xml @@ -2,13 +2,21 @@ Junk.java - 4 + 6 + + Local variable or parameter can be final + Variable <code>cc</code> can have <code>final</code> modifier + + + + Junk.java + 14 Local variable or parameter can be final Variable <code>i</code> can have <code>final</code> modifier Junk.java - 3 + 13 Local variable or parameter can be final Variable <code>r</code> can have <code>final</code> modifier diff --git a/java/java-tests/testData/inspection/localCanBeFinal/LambdaBody/src/Junk.java b/java/java-tests/testData/inspection/localCanBeFinal/LambdaBody/src/Junk.java index f89a1e2f4786..415c887263ed 100644 --- a/java/java-tests/testData/inspection/localCanBeFinal/LambdaBody/src/Junk.java +++ b/java/java-tests/testData/inspection/localCanBeFinal/LambdaBody/src/Junk.java @@ -1,3 +1,13 @@ +import java.util.HashMap; + +class Issue { + public static void filterMap() { + new HashMap().forEach((s1, s2) -> { + String cc = s1 + s2; + System.err.println(cc); + }); + } +} public final class Junk { public void sillyMethod() { Runnable r = () -> {