trivial functional expression: accept parent call expressions for value compatible lambdas

This commit is contained in:
Anna Kozlova
2016-01-22 14:29:01 +03:00
parent 988ee58b83
commit 24cd664e24
@@ -27,6 +27,8 @@ import com.intellij.refactoring.util.LambdaRefactoringUtil;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import java.util.List;
public class TrivialFunctionalExpressionUsageInspection extends BaseJavaBatchLocalInspectionTool {
@NotNull
@Override
@@ -53,12 +55,17 @@ public class TrivialFunctionalExpressionUsageInspection extends BaseJavaBatchLoc
((PsiCodeBlock)body).getStatements().length == 1) {
return true;
}
if (LambdaUtil.getReturnExpressions(expression).size() > 1) {
final List<PsiExpression> returnExpressions = LambdaUtil.getReturnExpressions(expression);
if (returnExpressions.size() > 1) {
return false;
}
final PsiElement callParent = ggParent.getParent();
if (returnExpressions.isEmpty()) {
return callParent instanceof PsiStatement;
}
return callParent instanceof PsiStatement ||
callParent instanceof PsiLocalVariable;
callParent instanceof PsiVariable ||
callParent instanceof PsiExpression;
}
});
}