mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
convert to nested ifs: accept no containing block
This commit is contained in:
+9
-3
@@ -56,10 +56,16 @@ public class ConvertToNestedIfIntention extends Intention {
|
||||
final PsiElementFactory elementFactory = JavaPsiFacade.getInstance(project).getElementFactory();
|
||||
final PsiBlockStatement blockStatement = (PsiBlockStatement)elementFactory.createStatementFromText("{" + newStatementText + "}", returnStatement);
|
||||
final PsiElement parent = returnStatement.getParent();
|
||||
for (PsiStatement st : blockStatement.getCodeBlock().getStatements()) {
|
||||
CodeStyleManager.getInstance(project).reformat(parent.addBefore(st, returnStatement));
|
||||
if (parent instanceof PsiCodeBlock) {
|
||||
for (PsiStatement st : blockStatement.getCodeBlock().getStatements()) {
|
||||
CodeStyleManager.getInstance(project).reformat(parent.addBefore(st, returnStatement));
|
||||
}
|
||||
PsiReplacementUtil.replaceStatement(returnStatement, "return false;", tracker);
|
||||
}
|
||||
else {
|
||||
blockStatement.getCodeBlock().add(elementFactory.createStatementFromText("return false;", returnStatement));
|
||||
tracker.replaceAndRestoreComments(returnStatement, blockStatement);
|
||||
}
|
||||
PsiReplacementUtil.replaceStatement(returnStatement, "return false;", tracker);
|
||||
}
|
||||
|
||||
private static StringBuilder buildIf(@Nullable PsiExpression expression,
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package com.siyeh.ipp.trivialif.convert_to_nested_if;
|
||||
|
||||
public class X {
|
||||
|
||||
boolean m(boolean a, boolean b, boolean c) {
|
||||
if (a) return <caret>b || c;//c1
|
||||
return false;//c2
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.siyeh.ipp.trivialif.convert_to_nested_if;
|
||||
|
||||
public class X {
|
||||
|
||||
boolean m(boolean a, boolean b, boolean c) {
|
||||
//c1
|
||||
if (a) {
|
||||
if (b) r<caret>eturn true;
|
||||
if (c) return true;
|
||||
return false;
|
||||
}
|
||||
return false;//c2
|
||||
}
|
||||
}
|
||||
+1
@@ -22,6 +22,7 @@ public class ConvertToNestedIfIntentionTest extends IPPTestCase {
|
||||
|
||||
public void testNested() { doTest(); }
|
||||
public void testStaircase() { doTest(); }
|
||||
public void testNoBraces() { doTest(); }
|
||||
public void testStaircaseWithParenthesis() { doTest(); }
|
||||
public void testStaircaseWithOrInside() { doTest(); }
|
||||
public void testOrStaircaseInside() { doTest(); }
|
||||
|
||||
Reference in New Issue
Block a user