Commit 2f311f58 authored by Tagir Valeev's avatar Tagir Valeev
Browse files

StreamApiMigrationInspection: add guard checks for control flow offsets (EA-90493)

parent a75cc0fe
Branches unavailable Tags unavailable
No related merge requests found
Showing with 7 additions and 4 deletions
+7 -4
......@@ -585,12 +585,15 @@ public class StreamApiMigrationInspection extends BaseJavaBatchLocalInspectionTo
catch (AnalysisCanceledException ignored) {
return;
}
int startOffset = tb.getStartOffset(controlFlow);
int endOffset = tb.getEndOffset(controlFlow);
if(startOffset < 0 || endOffset < 0) return;
final Collection<PsiStatement> exitPoints = ControlFlowUtil
.findExitPointsAndStatements(controlFlow, tb.getStartOffset(controlFlow), tb.getEndOffset(controlFlow),
new IntArrayList(), PsiContinueStatement.class,
.findExitPointsAndStatements(controlFlow, startOffset, endOffset, new IntArrayList(), PsiContinueStatement.class,
PsiBreakStatement.class, PsiReturnStatement.class, PsiThrowStatement.class);
int startOffset = controlFlow.getStartOffset(body);
int endOffset = controlFlow.getEndOffset(body);
startOffset = controlFlow.getStartOffset(body);
endOffset = controlFlow.getEndOffset(body);
if(startOffset < 0 || endOffset < 0) return;
PsiElement surrounder = PsiTreeUtil.getParentOfType(statement, PsiLambdaExpression.class, PsiClass.class);
final List<PsiVariable> nonFinalVariables = StreamEx.of(ControlFlowUtil.getUsedVariables(controlFlow, startOffset, endOffset))
.remove(variable -> PsiTreeUtil.getParentOfType(variable, PsiLambdaExpression.class, PsiClass.class) != surrounder)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment