diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/StreamApiMigrationInspection.java b/java/java-analysis-impl/src/com/intellij/codeInspection/StreamApiMigrationInspection.java index ca6fbba53454..155db7783e91 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/StreamApiMigrationInspection.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/StreamApiMigrationInspection.java @@ -120,6 +120,8 @@ public class StreamApiMigrationInspection extends BaseJavaBatchLocalInspectionTo TerminalBlock tb = TerminalBlock.from(statement.getIterationParameter(), body); List operations = tb.extractOperations(); + if(tb.isEmpty()) return; + final ControlFlow controlFlow = ControlFlowFactory.getInstance(holder.getProject()) .getControlFlow(body, LocalsOrMyInstanceFieldsControlFlowPolicy.getInstance()); final Collection exitPoints = ControlFlowUtil @@ -174,7 +176,7 @@ public class StreamApiMigrationInspection extends BaseJavaBatchLocalInspectionTo //for .stream() fixes.add(new ReplaceWithForeachCallFix("forEachOrdered")); } - holder.registerProblem(iteratedValue, "Can be replaced with foreach call", + holder.registerProblem(iteratedValue, "Can be replaced with forEach call", ProblemHighlightType.GENERIC_ERROR_OR_WARNING, fixes.toArray(new LocalQuickFix[fixes.size()])); } @@ -705,7 +707,6 @@ public class StreamApiMigrationInspection extends BaseJavaBatchLocalInspectionTo } intermediateOps .add(createMapperFunctionalExpressionText(tb.getVariable(), methodCallExpression.getArgumentList().getExpressions()[0])); - PsiType itemType = methodCallExpression.getArgumentList().getExpressionTypes()[0]; final StringBuilder builder = generateStream(iteratedValue, intermediateOps); final PsiExpression qualifierExpression = methodCallExpression.getMethodExpression().getQualifierExpression(); @@ -1138,6 +1139,10 @@ public class StreamApiMigrationInspection extends BaseJavaBatchLocalInspectionTo return myVariable; } + public boolean isEmpty() { + return myStatements.length == 0; + } + @Contract("_, _ -> !null") static TerminalBlock from(PsiVariable variable, PsiStatement statement) { return new TerminalBlock(variable, new PsiStatement[] {statement});