Suggest "Remove braces" in nested if correctly #KT-14270 Fixed
This commit is contained in:
committed by
Mikhail Glukhikh
parent
8082a5daf7
commit
e328d2d1ca
@@ -38,7 +38,10 @@ class RemoveBracesIntention : SelfTargetingIntention<KtElement>(KtElement::class
|
|||||||
val container = block.parent
|
val container = block.parent
|
||||||
when (container) {
|
when (container) {
|
||||||
is KtContainerNode -> {
|
is KtContainerNode -> {
|
||||||
if (singleStatement is KtIfExpression && container.parent is KtIfExpression) return false
|
if (singleStatement is KtIfExpression) {
|
||||||
|
val elseExpression = (container.parent as? KtIfExpression)?.`else`
|
||||||
|
if (elseExpression != null && elseExpression != block) return false
|
||||||
|
}
|
||||||
|
|
||||||
val description = container.description() ?: return false
|
val description = container.description() ?: return false
|
||||||
text = "Remove braces from '$description' statement"
|
text = "Remove braces from '$description' statement"
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun foo(i :Int) {}
|
||||||
|
|
||||||
|
fun test(i: Int, b: Boolean) {
|
||||||
|
if (i == 1) {<caret>
|
||||||
|
if (b) foo(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
fun foo(i :Int) {}
|
||||||
|
|
||||||
|
fun test(i: Int, b: Boolean) {
|
||||||
|
if (i == 1) if (b) foo(1)
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
// IS_APPLICABLE: false
|
||||||
|
|
||||||
|
fun foo(i :Int) {}
|
||||||
|
|
||||||
|
fun test(i: Int, b: Boolean) {
|
||||||
|
if (i == 1) {<caret>
|
||||||
|
if (b) foo(1)
|
||||||
|
} else if (i == 2) {
|
||||||
|
if (b) foo(2)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fun foo(i :Int) {}
|
||||||
|
|
||||||
|
fun test(i: Int, b: Boolean) {
|
||||||
|
if (i == 1) {
|
||||||
|
if (b) foo(1)
|
||||||
|
} else if (i == 2) {<caret>
|
||||||
|
if (b) foo(2)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun foo(i :Int) {}
|
||||||
|
|
||||||
|
fun test(i: Int, b: Boolean) {
|
||||||
|
if (i == 1) {
|
||||||
|
if (b) foo(1)
|
||||||
|
} else if (i == 2) if (b) foo(2)
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
// IS_APPLICABLE: false
|
||||||
|
|
||||||
|
fun foo(i :Int) {}
|
||||||
|
|
||||||
|
fun test(i: Int, b: Boolean) {
|
||||||
|
if (i == 1) {<caret>
|
||||||
|
if (b) foo(1)
|
||||||
|
} else {
|
||||||
|
if (b) foo(2)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fun foo(i :Int) {}
|
||||||
|
|
||||||
|
fun test(i: Int, b: Boolean) {
|
||||||
|
if (i == 1) {
|
||||||
|
if (b) foo(1)
|
||||||
|
} else {<caret>
|
||||||
|
if (b) foo(2)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun foo(i :Int) {}
|
||||||
|
|
||||||
|
fun test(i: Int, b: Boolean) {
|
||||||
|
if (i == 1) {
|
||||||
|
if (b) foo(1)
|
||||||
|
} else if (b) foo(2)
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
// IS_APPLICABLE: false
|
||||||
|
|
||||||
|
fun foo(i :Int) {}
|
||||||
|
|
||||||
|
fun test(i: Int, b: Boolean) {
|
||||||
|
if (i == 1) {
|
||||||
|
if (b) foo(1)
|
||||||
|
} else if (i == 2) {<caret>
|
||||||
|
if (b) foo(2)
|
||||||
|
} else {
|
||||||
|
if (b) foo(3)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12528,6 +12528,42 @@ public class IntentionTestGenerated extends AbstractIntentionTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifInsideIf2.kt")
|
||||||
|
public void testIfInsideIf2() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/removeBraces/ifInsideIf2.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifInsideIf3.kt")
|
||||||
|
public void testIfInsideIf3() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/removeBraces/ifInsideIf3.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifInsideIf4.kt")
|
||||||
|
public void testIfInsideIf4() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/removeBraces/ifInsideIf4.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifInsideIf5.kt")
|
||||||
|
public void testIfInsideIf5() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/removeBraces/ifInsideIf5.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifInsideIf6.kt")
|
||||||
|
public void testIfInsideIf6() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/removeBraces/ifInsideIf6.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifInsideIf7.kt")
|
||||||
|
public void testIfInsideIf7() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/removeBraces/ifInsideIf7.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("ifWithComment.kt")
|
@TestMetadata("ifWithComment.kt")
|
||||||
public void testIfWithComment() throws Exception {
|
public void testIfWithComment() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/removeBraces/ifWithComment.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/removeBraces/ifWithComment.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user