@Override public void visitBreakStatement(@NotNull PsiBreakStatement statement) { final PsiIdentifier labelIdentifier = statement.getLabelIdentifier(); if (labelIdentifier == null) { return; } final String labelText = labelIdentifier.getText(); if (labelText == null || labelText.length() == 0) { return; } final PsiStatement exitedStatement = statement.findExitedStatement(); if (exitedStatement == null) { return; } final PsiStatement labelEnabledParent = PsiTreeUtil.getParentOfType( statement, PsiForStatement.class, PsiDoWhileStatement.class, PsiForeachStatement.class, PsiWhileStatement.class, PsiSwitchStatement.class); if (labelEnabledParent == null) { return; } if (exitedStatement.equals(labelEnabledParent)) { registerStatementError(statement); } }
public void visitBreakStatement(PsiBreakStatement statement) { super.visitBreakStatement(statement); if (statement.getLabelIdentifier() != null) { elementCount++; } else if (!(statement.findExitedStatement() instanceof PsiSwitchStatement)) { elementCount++; } }