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; } }); }