unused assignment: check lambda body for unused assignments

This commit is contained in:
Anna Kozlova
2016-09-05 07:57:42 +03:00
parent e9a518455a
commit b041f6f0e9
3 changed files with 16 additions and 0 deletions
@@ -54,6 +54,14 @@ public class DefUseInspectionBase extends BaseJavaBatchLocalInspectionTool {
public void visitClassInitializer(PsiClassInitializer initializer) {
checkCodeBlock(initializer.getBody(), holder, isOnTheFly);
}
@Override
public void visitLambdaExpression(PsiLambdaExpression expression) {
PsiElement body = expression.getBody();
if (body instanceof PsiCodeBlock) {
checkCodeBlock((PsiCodeBlock)body, holder, isOnTheFly);
}
}
};
}
@@ -0,0 +1,7 @@
class Test {
Runnable r = () -> {
int i = <warning descr="Variable 'i' initializer '0' is redundant">0</warning>;
i = 1;
System.out.println(i);
};
}
@@ -53,6 +53,7 @@ public class DefUseTest extends LightCodeInsightFixtureTestCase {
public void testComplexDoubleTryFinally() { doTest(); }
public void testComplexTripleTryFinally() { doTest(); }
public void testComplexQuintipleTryFinally() { doTest(); }
public void testAssignmentsInLambdaBody() { doTest(); }
private void doTest() {
myFixture.enableInspections(new DefUseInspection());