From 3e4d8eba76c33100b91f6dc5cc0b91cce37835e7 Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Tue, 25 Sep 2018 12:52:43 +0900 Subject: [PATCH] Add braces: Remove new line between '}' and 'else' #KT-26839 Fixed --- .../kotlin/idea/intentions/AddBracesIntention.kt | 8 ++++++-- .../addBraces/addBracesForIfWithIndent.kt | 10 ++++++++++ .../addBraces/addBracesForIfWithIndent.kt.after | 10 ++++++++++ .../addBraces/addBracesForIfWithIndent2.kt | 12 ++++++++++++ .../addBraces/addBracesForIfWithIndent2.kt.after | 10 ++++++++++ .../addBraces/addBracesForIfWithIndent3.kt | 10 ++++++++++ .../addBraces/addBracesForIfWithIndent3.kt.after | 11 +++++++++++ .../idea/intentions/IntentionTestGenerated.java | 15 +++++++++++++++ 8 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 idea/testData/intentions/addBraces/addBracesForIfWithIndent.kt create mode 100644 idea/testData/intentions/addBraces/addBracesForIfWithIndent.kt.after create mode 100644 idea/testData/intentions/addBraces/addBracesForIfWithIndent2.kt create mode 100644 idea/testData/intentions/addBraces/addBracesForIfWithIndent2.kt.after create mode 100644 idea/testData/intentions/addBraces/addBracesForIfWithIndent3.kt create mode 100644 idea/testData/intentions/addBraces/addBracesForIfWithIndent3.kt.after 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");