/*
- * Copyright 2006-2010 Bas Leijdekkers
+ * Copyright 2006-2016 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package com.siyeh.ipp.forloop;
import com.intellij.psi.*;
-import com.intellij.util.IncorrectOperationException;
import com.siyeh.ipp.base.Intention;
import com.siyeh.ipp.base.PsiElementPredicate;
import org.jetbrains.annotations.NotNull;
}
@Override
- protected void processIntention(@NotNull PsiElement element)
- throws IncorrectOperationException {
- final PsiForStatement forStatement =
- (PsiForStatement)element.getParent();
+ protected void processIntention(@NotNull PsiElement element) {
+ final PsiForStatement forStatement = (PsiForStatement)element.getParent();
if (forStatement == null) {
return;
}
final PsiStatement initialization = forStatement.getInitialization();
- if (initialization != null &&
- !(initialization instanceof PsiEmptyStatement)) {
+ if (initialization != null && !(initialization instanceof PsiEmptyStatement)) {
final PsiElement parent = forStatement.getParent();
parent.addBefore(initialization, forStatement);
}
- final JavaPsiFacade psiFacade =
- JavaPsiFacade.getInstance(element.getProject());
- final PsiElementFactory factory = psiFacade.getElementFactory();
- final PsiWhileStatement whileStatement =
- (PsiWhileStatement)factory.createStatementFromText(
- "while(true) {}", element);
+ final PsiElementFactory factory = JavaPsiFacade.getElementFactory(element.getProject());
+ final PsiWhileStatement whileStatement = (PsiWhileStatement)factory.createStatementFromText("while(true) {}", element);
final PsiExpression forCondition = forStatement.getCondition();
final PsiExpression whileCondition = whileStatement.getCondition();
final PsiStatement body = forStatement.getBody();
assert whileCondition != null;
whileCondition.replace(forCondition);
}
- final PsiBlockStatement blockStatement =
- (PsiBlockStatement)whileStatement.getBody();
+ final PsiBlockStatement blockStatement = (PsiBlockStatement)whileStatement.getBody();
if (blockStatement == null) {
return;
}
final PsiElement newBody;
if (body instanceof PsiBlockStatement) {
- final PsiBlockStatement newWhileBody =
- (PsiBlockStatement)blockStatement.replace(body);
+ final PsiBlockStatement newWhileBody = (PsiBlockStatement)blockStatement.replace(body);
newBody = newWhileBody.getCodeBlock();
}
else {
if (update != null) {
final PsiStatement[] updateStatements;
if (update instanceof PsiExpressionListStatement) {
- final PsiExpressionListStatement expressionListStatement =
- (PsiExpressionListStatement)update;
- final PsiExpressionList expressionList =
- expressionListStatement.getExpressionList();
- final PsiExpression[] expressions =
- expressionList.getExpressions();
+ final PsiExpressionListStatement expressionListStatement = (PsiExpressionListStatement)update;
+ final PsiExpressionList expressionList = expressionListStatement.getExpressionList();
+ final PsiExpression[] expressions = expressionList.getExpressions();
updateStatements = new PsiStatement[expressions.length];
- for (int i = 0, expressionsLength = expressions.length;
- i < expressionsLength; i++) {
+ for (int i = 0, expressionsLength = expressions.length; i < expressionsLength; i++) {
final PsiExpression expression = expressions[i];
- final PsiStatement updateStatement =
- factory.createStatementFromText(
- expression.getText() + ';', element);
+ final PsiStatement updateStatement = factory.createStatementFromText(expression.getText() + ';', element);
updateStatements[i] = updateStatement;
}
}
else {
- final PsiStatement updateStatement =
- factory.createStatementFromText(
- update.getText() + ';', element);
+ final PsiStatement updateStatement = factory.createStatementFromText(update.getText() + ';', element);
updateStatements = new PsiStatement[]{updateStatement};
}
newBody.accept(new UpdateInserter(whileStatement, updateStatements));
forStatement.replace(whileStatement);
}
- private static class UpdateInserter
- extends JavaRecursiveElementWalkingVisitor {
+ private static class UpdateInserter extends JavaRecursiveElementWalkingVisitor {
private final PsiWhileStatement whileStatement;
private final PsiStatement[] updateStatements;
- private UpdateInserter(PsiWhileStatement whileStatement,
- PsiStatement[] updateStatements) {
+ private UpdateInserter(PsiWhileStatement whileStatement, PsiStatement[] updateStatements) {
this.whileStatement = whileStatement;
this.updateStatements = updateStatements;
}
@Override
public void visitContinueStatement(PsiContinueStatement statement) {
- final PsiStatement continuedStatement =
- statement.findContinuedStatement();
+ final PsiStatement continuedStatement = statement.findContinuedStatement();
if (!whileStatement.equals(continuedStatement)) {
return;
}