Convert Function Type Parameter to Receiver: Drop redundant arrows
This commit is contained in:
+5
-1
@@ -123,7 +123,11 @@ class ConvertFunctionTypeParameterToReceiverIntention : SelfTargetingRangeIntent
|
|||||||
for (ref in ReferencesSearch.search(parameterToConvert, LocalSearchScope(expression))) {
|
for (ref in ReferencesSearch.search(parameterToConvert, LocalSearchScope(expression))) {
|
||||||
(ref.element as? KtSimpleNameExpression)?.replace(thisRefExpr)
|
(ref.element as? KtSimpleNameExpression)?.replace(thisRefExpr)
|
||||||
}
|
}
|
||||||
expression.functionLiteral.valueParameterList!!.removeParameter(parameterToConvert)
|
val lambda = expression.functionLiteral
|
||||||
|
lambda.valueParameterList!!.removeParameter(parameterToConvert)
|
||||||
|
if (lambda.valueParameters.isEmpty()) {
|
||||||
|
lambda.arrow?.delete()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
fun foo(n: Int, action: (<caret>Int) -> Int) = action(n)
|
||||||
|
|
||||||
|
fun test() {
|
||||||
|
foo(1) { n -> n + 1 }
|
||||||
|
}
|
||||||
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
fun foo(n: Int, action: Int.(<caret>) -> Int) = n.action()
|
||||||
|
|
||||||
|
fun test() {
|
||||||
|
foo(1) { this + 1 }
|
||||||
|
}
|
||||||
@@ -4570,6 +4570,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest {
|
|||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertFunctionTypeParameterToReceiver/overrides.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertFunctionTypeParameterToReceiver/overrides.kt");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("singleExplicitParameter.kt")
|
||||||
|
public void testSingleExplicitParameter() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertFunctionTypeParameterToReceiver/singleExplicitParameter.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("idea/testData/intentions/convertFunctionTypeReceiverToParameter")
|
@TestMetadata("idea/testData/intentions/convertFunctionTypeReceiverToParameter")
|
||||||
|
|||||||
Reference in New Issue
Block a user