From 24cd664e245507b3a067442483ef23e2473d40c8 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 22 Jan 2016 14:26:42 +0300 Subject: [PATCH] trivial functional expression: accept parent call expressions for value compatible lambdas --- .../TrivialFunctionalExpressionUsageInspection.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/intellij/codeInspection/TrivialFunctionalExpressionUsageInspection.java b/plugins/InspectionGadgets/src/com/intellij/codeInspection/TrivialFunctionalExpressionUsageInspection.java index 9f2c09bb537c..7c8a9901f304 100644 --- a/plugins/InspectionGadgets/src/com/intellij/codeInspection/TrivialFunctionalExpressionUsageInspection.java +++ b/plugins/InspectionGadgets/src/com/intellij/codeInspection/TrivialFunctionalExpressionUsageInspection.java @@ -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 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; } }); }