Remove braces from 'when' entry: do not suggest when statement is lambda that has no arrow
#KT-35288 Fixed
This commit is contained in:
committed by
Mikhail Glukhikh
parent
afc680d5c9
commit
7b1771d432
@@ -51,6 +51,7 @@ class RemoveBracesIntention : SelfTargetingIntention<KtElement>(KtElement::class
|
|||||||
is KtWhenEntry -> {
|
is KtWhenEntry -> {
|
||||||
text = "Remove braces from 'when' entry"
|
text = "Remove braces from 'when' entry"
|
||||||
return singleStatement !is KtNamedDeclaration
|
return singleStatement !is KtNamedDeclaration
|
||||||
|
&& !(singleStatement is KtLambdaExpression && singleStatement.functionLiteral.arrow == null)
|
||||||
}
|
}
|
||||||
else -> return false
|
else -> return false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// IS_APPLICABLE: false
|
||||||
|
fun test(v: Boolean): (String) -> Int {
|
||||||
|
return when (v) {
|
||||||
|
true -> <caret>{ { taskOne(it) } }
|
||||||
|
false -> { x -> taskTwo(x) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun taskOne(s: String) = s.length
|
||||||
|
fun taskTwo(s: String) = 42
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fun test(v: Boolean): (String) -> Int {
|
||||||
|
return when (v) {
|
||||||
|
true -> <caret>{ { x -> taskOne(x) } }
|
||||||
|
false -> { x -> taskTwo(x) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun taskOne(s: String) = s.length
|
||||||
|
fun taskTwo(s: String) = 42
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fun test(v: Boolean): (String) -> Int {
|
||||||
|
return when (v) {
|
||||||
|
true -> { x -> taskOne(x) }
|
||||||
|
false -> { x -> taskTwo(x) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun taskOne(s: String) = s.length
|
||||||
|
fun taskTwo(s: String) = 42
|
||||||
@@ -12825,6 +12825,16 @@ public class IntentionTestGenerated extends AbstractIntentionTest {
|
|||||||
runTest("idea/testData/intentions/removeBraces/whenLambda.kt");
|
runTest("idea/testData/intentions/removeBraces/whenLambda.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("whenLambda2.kt")
|
||||||
|
public void testWhenLambda2() throws Exception {
|
||||||
|
runTest("idea/testData/intentions/removeBraces/whenLambda2.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("whenLambda3.kt")
|
||||||
|
public void testWhenLambda3() throws Exception {
|
||||||
|
runTest("idea/testData/intentions/removeBraces/whenLambda3.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("whenMultiple.kt")
|
@TestMetadata("whenMultiple.kt")
|
||||||
public void testWhenMultiple() throws Exception {
|
public void testWhenMultiple() throws Exception {
|
||||||
runTest("idea/testData/intentions/removeBraces/whenMultiple.kt");
|
runTest("idea/testData/intentions/removeBraces/whenMultiple.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user