diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ExpectedTypeUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ExpectedTypeUtils.java index cd0f9bb5c589..6593c9b95073 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ExpectedTypeUtils.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ExpectedTypeUtils.java @@ -20,7 +20,14 @@ public class ExpectedTypeUtils{ wrappedExp = (PsiExpression) context; context = context.getParent(); } - if(context instanceof PsiVariable){ + if (context instanceof PsiField) { + final PsiField field = (PsiField)context; + final PsiExpression initializer = field.getInitializer(); + if (wrappedExp.equals(initializer)) { + return field.getType(); + } + } + else if (context instanceof PsiVariable){ final PsiVariable psiVariable = (PsiVariable) context; return psiVariable.getType(); } else if(context instanceof PsiReferenceExpression){ @@ -53,7 +60,7 @@ public class ExpectedTypeUtils{ } } else if(context instanceof PsiArrayAccessExpression){ final PsiArrayAccessExpression accessExpression = (PsiArrayAccessExpression) context; - if(accessExpression.getIndexExpression().equals(wrappedExp)){ + if(wrappedExp.equals(accessExpression.getIndexExpression())){ return PsiType.INT; } } else if(context instanceof PsiAssignmentExpression){ @@ -87,12 +94,6 @@ public class ExpectedTypeUtils{ } } } - } else if(context instanceof PsiField){ - final PsiField field = (PsiField) context; - final PsiExpression initializer = field.getInitializer(); - if(wrappedExp.equals(initializer)){ - return field.getType(); - } } else if(context instanceof PsiBinaryExpression){ final PsiBinaryExpression binaryExp = (PsiBinaryExpression) context; final PsiJavaToken sign = binaryExp.getOperationSign(); diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryBlockStatementInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryBlockStatementInspection.java index b3eda758e252..8e32971997cc 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryBlockStatementInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/verbose/UnnecessaryBlockStatementInspection.java @@ -5,6 +5,7 @@ import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.psi.*; +import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.util.IncorrectOperationException; import com.siyeh.ig.*; @@ -43,9 +44,9 @@ public class UnnecessaryBlockStatementInspection extends StatementInspection { final PsiElement containingElement = blockStatement.getParent(); try { final PsiElement[] children = block.getChildren(); - for (int i = 1; i < children.length - 1; i++) { - final PsiElement child = children[i]; - containingElement.addBefore(child, blockStatement); + if (children.length > 2) { + final PsiElement added = containingElement.addRangeBefore(children[1], children[children.length - 2], blockStatement); + CodeStyleManager.getInstance(project).reformat(added); } blockStatement.delete(); } catch (IncorrectOperationException e) {