void (@NotNull PsiWhileStatement loop) { PsiExpression condition = loop.getCondition(); if (condition == null || SideEffectChecker.mayHaveSideEffects(condition)) return; PsiStatement body = loop.getBody(); if (body == null) return; if (SideEffectChecker.mayHaveNonLocalSideEffects(body)) return; final ControlFlow controlFlow; try { controlFlow = ControlFlowFactory.getInstance(loop.getProject()).getControlFlow(body, LocalsOrMyInstanceFieldsControlFlowPolicy.getInstance()); } catch (AnalysisCanceledException ignored) { return; } checkControlFlow(loop, controlFlow, holder); }