diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/AddBracesIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/AddBracesIntention.kt index 7f1e278954c..08741a48933 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/AddBracesIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/AddBracesIntention.kt @@ -76,8 +76,12 @@ class AddBracesIntention : SelfTargetingIntention(KtElement::class.ja val result = expression.replace(psiFactory.createSingleStatementBlock(expression)) - if (element is KtDoWhileExpression) { // remove new line between '}' and while - (element.body!!.parent.nextSibling as? PsiWhiteSpace)?.delete() + when (element) { + is KtDoWhileExpression -> + // remove new line between '}' and while + (element.body!!.parent.nextSibling as? PsiWhiteSpace)?.delete() + is KtIfExpression -> + (result?.parent?.nextSibling as? PsiWhiteSpace)?.delete() } saver.restore(result) } diff --git a/idea/testData/intentions/addBraces/addBracesForIfWithIndent.kt b/idea/testData/intentions/addBraces/addBracesForIfWithIndent.kt new file mode 100644 index 00000000000..60512d39f24 --- /dev/null +++ b/idea/testData/intentions/addBraces/addBracesForIfWithIndent.kt @@ -0,0 +1,10 @@ +fun doSomething(a: T) {} + +fun foo(i: Int) { + if (i == 1) + doSomething(1) + else + doSomething(0) + + doSomething(-1) +} \ No newline at end of file diff --git a/idea/testData/intentions/addBraces/addBracesForIfWithIndent.kt.after b/idea/testData/intentions/addBraces/addBracesForIfWithIndent.kt.after new file mode 100644 index 00000000000..ef42bf0e4af --- /dev/null +++ b/idea/testData/intentions/addBraces/addBracesForIfWithIndent.kt.after @@ -0,0 +1,10 @@ +fun doSomething(a: T) {} + +fun foo(i: Int) { + if (i == 1) { + doSomething(1) + } else + doSomething(0) + + doSomething(-1) +} \ No newline at end of file diff --git a/idea/testData/intentions/addBraces/addBracesForIfWithIndent2.kt b/idea/testData/intentions/addBraces/addBracesForIfWithIndent2.kt new file mode 100644 index 00000000000..86e43ae42f3 --- /dev/null +++ b/idea/testData/intentions/addBraces/addBracesForIfWithIndent2.kt @@ -0,0 +1,12 @@ +fun doSomething(a: T) {} + +fun foo(i: Int) { + if (i == 1) + doSomething(1) + + + else + doSomething(0) + + doSomething(-1) +} \ No newline at end of file diff --git a/idea/testData/intentions/addBraces/addBracesForIfWithIndent2.kt.after b/idea/testData/intentions/addBraces/addBracesForIfWithIndent2.kt.after new file mode 100644 index 00000000000..ef42bf0e4af --- /dev/null +++ b/idea/testData/intentions/addBraces/addBracesForIfWithIndent2.kt.after @@ -0,0 +1,10 @@ +fun doSomething(a: T) {} + +fun foo(i: Int) { + if (i == 1) { + doSomething(1) + } else + doSomething(0) + + doSomething(-1) +} \ No newline at end of file diff --git a/idea/testData/intentions/addBraces/addBracesForIfWithIndent3.kt b/idea/testData/intentions/addBraces/addBracesForIfWithIndent3.kt new file mode 100644 index 00000000000..e61c1182542 --- /dev/null +++ b/idea/testData/intentions/addBraces/addBracesForIfWithIndent3.kt @@ -0,0 +1,10 @@ +fun doSomething(a: T) {} + +fun foo(i: Int) { + if (i == 1) + doSomething(1) + else + doSomething(0) + + doSomething(-1) +} \ No newline at end of file diff --git a/idea/testData/intentions/addBraces/addBracesForIfWithIndent3.kt.after b/idea/testData/intentions/addBraces/addBracesForIfWithIndent3.kt.after new file mode 100644 index 00000000000..e6f788c7b2f --- /dev/null +++ b/idea/testData/intentions/addBraces/addBracesForIfWithIndent3.kt.after @@ -0,0 +1,11 @@ +fun doSomething(a: T) {} + +fun foo(i: Int) { + if (i == 1) + doSomething(1) + else { + doSomething(0) + } + + doSomething(-1) +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index b6e3abee929..6b9f6ea1721 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -666,6 +666,21 @@ public class IntentionTestGenerated extends AbstractIntentionTest { runTest("idea/testData/intentions/addBraces/addBracesForIf.kt"); } + @TestMetadata("addBracesForIfWithIndent.kt") + public void testAddBracesForIfWithIndent() throws Exception { + runTest("idea/testData/intentions/addBraces/addBracesForIfWithIndent.kt"); + } + + @TestMetadata("addBracesForIfWithIndent2.kt") + public void testAddBracesForIfWithIndent2() throws Exception { + runTest("idea/testData/intentions/addBraces/addBracesForIfWithIndent2.kt"); + } + + @TestMetadata("addBracesForIfWithIndent3.kt") + public void testAddBracesForIfWithIndent3() throws Exception { + runTest("idea/testData/intentions/addBraces/addBracesForIfWithIndent3.kt"); + } + @TestMetadata("addBracesForIfWithNoSpace.kt") public void testAddBracesForIfWithNoSpace() throws Exception { runTest("idea/testData/intentions/addBraces/addBracesForIfWithNoSpace.kt");